Introducción a las redes e Internet Unidad 7: Páginas web dinámicas Clase 1 Unidad 7: Páginas web dinámicas Clase 1.

Slides:



Advertisements
Presentaciones similares
Estructuras de control
Advertisements

Curso de PHP Tema 1: Introducción.
JavaScript Rogelio Ferreira Escutia. 2 JavaScript Wikipedia, noviembre 2009http://es.wikipedia.org/wiki/Javascript.
Funciones.
Todo el Software necesario puede ser conseguido por separado. Para facilitar la puesta al punto del ambiente, nosotros utilizaremos una herramienta particular.
PHP. PHP (Hypertext Preprocessor) preprocesador de Hipertexto Se ejecuta en el servidor El resultado de ejecutarse es código HTML Manual oficial en
Scripting en el lado del Cliente
Lenguaje PHP Capítulo 4.
Fernando Velasco
M.C. Rafael A. García Rosas.
PHP-MYSQL OPERADORES EN PHP
Expresiones y operadores
Instructor :LIC. Jairo Flores de la o
Metodología de la Programación
Fundamentos de la Programación Estructurada
"java del lado del servidor" Servlet y JSP Java Server Pages.
Desarrollo de Aplicaciones para Internet
ACCESO A BASES DE DATOS ORACLE CON PHP
Curso de PHP Tema 6: Seguridad.
Tema 2: Lenguaje PHP básico
1.2 Sintaxis del lenguaje Java.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Tipos de Datos.
Desarrollo de sitios web con PHP y MySQL
Desarrollo de sitios web con PHP y MySQL
Fundamentos de Javascript Desarrollo de Aplicaciones para Internet.
Antonio Becerra Terón Departamento de Lenguajes y Computación Universidad de Almería Desarrollo de aplicaciones PHP para bases de datos.
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Ingeniero Anyelo Quintero
DESARROLLO DE APLICACIONES WEB
El lenguaje de programación Java
Tema 1: Lenguaje PHP básico Ing. Tulio Nel Benavides Peña
Portal Docente Virtual : Grupo Andaluz de Investigación: ‘Topología Computacional y Matemática Aplicada Proyecto Fin de Carrera Realizado por: Pablo Germán.
PAGINAS DINAMICAS PHP. INTRODUCCION PHP (Profesional Home Pages - Páginas Personales Profesionales) es un lenguaje para la creación de páginas web incrustado.
Pulse para añadir texto Desarrollo de sitios web con PHP y MySQL Tema 2: Lenguaje PHP básico Elaborado por: José Mariano González Romano
Desarrollo de sitios web con
PHP TODO SOBRE PHP.
El Lenguaje C++. Creación de programas simples de C++ Builder como ejercicios en C++. Los elementos de control fundamentales en C++, incluyendo operadores.
PHP - Ingº Eloy Colquehuanca C. 1 LENGUAJE DE PROGRAMACIÓN PHP Docente: Ingº Eloy Colquehuanca C. Web :
Unidad didáctica 6 Diseño de páginas Web.
VBA – Elementos del Lenguaje
Presentado por: Laura Patricia Pinto Prieto Ingeniera de Sistemas.
introducción al lenguaje
TEMARIO EL LENGUAJE DE PROGRAMACION PHP INTRODUCCION Y CARACTERISTICAS
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Índice Definición de php Introducción a php Fundamentos de php
Desarrollo de sitios web con PHP y MySQL
PHP con Bases de Datos Tema 2 Variables, Constantes y Tipos de Datos
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
 DATOS, VARIABLES, CONSTANTES EXPRESIONES Y OPERADORES TRABAJO GRUPAL DE WEB Y MULTIMEDIA INTEGRANTES: Juan Morocho Cristhian Palacios Yadira Peralta.
Ihr Logo PHP Parte 2 “php toma muchas sintaxis de lenguajes de alto nivel conocidos para poder trabajar”
Capitulo 6 PHP Introducción:
PHP con Bases de Datos Tema 5 Funciones Introducción Valor de una Función Función para obtener fecha actual. Documentación de Funciones Funciones de Usuario.
PHP el Lenguaje Ejercicios Básicos.
El lenguaje de programación PHP
“variables , sentencia if y bucles”
Fundamentos de Programación
Práctica Profesional PHP.
Yeray Caballero López Juan Pablo Quesada Nieves
Programación PHP: Lenguaje PHP.
Manual PHP Básico Camilo Cartagena.
1 Desarrollo Web en Entorno Servidor Tema 4: Estructuras de control. Estructuras Selectivas. Operadores de comparación. Operadores Lógicos. Operadores.
Técnicas de Programación en Cliente
Creación de páginas Web (II) PHP Pau Barceló Forteza
PROGRAMACIÓN PHP Introducción PHP es uno de los lenguajes de lado servidor más extendidos en la web. Nacido en 1994, se trata de un lenguaje de creación.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Tema 2: Lenguaje PHP básico
Transcripción de la presentación:

Introducción a las redes e Internet Unidad 7: Páginas web dinámicas Clase 1 Unidad 7: Páginas web dinámicas Clase 1

Temario Parte I 1.Introducción a PHP 2.Instalación y configuración de un servidor local 3.Instalación y configuración de un entorno de desarrollo 4.Recursos de PHP Parte I 1.Introducción a PHP 2.Instalación y configuración de un servidor local 3.Instalación y configuración de un entorno de desarrollo 4.Recursos de PHP

1.Introducción a PHP Lenguajes de script –PHP es un lenguaje de script del lado del servidor. Otros lenguajes similares son ASP, JSP o ColdFusion –Los scripts PHP están incrustados en los documentos HTML y el servidor los interpreta y ejecuta antes de servir las páginas al cliente –El cliente no ve el código PHP sino los resultados que produce Lenguajes de script –PHP es un lenguaje de script del lado del servidor. Otros lenguajes similares son ASP, JSP o ColdFusion –Los scripts PHP están incrustados en los documentos HTML y el servidor los interpreta y ejecuta antes de servir las páginas al cliente –El cliente no ve el código PHP sino los resultados que produce

1.Introducción a PHP Breve historia de PHP –Creado por Rasmus Lerdorf para uso personal en 1994 –PHP = Personal Hypertext Processor –Versiones actuales: PHP 4 y 5 –Es un módulo que se añade al servidor web y fue concebido inicialmente para Apache ¿Por qué PHP? –Por sus ventajas: es potente, fácil de aprender, de libre distribución, permite el acceso a bases de datos y otras funcionalidades orientadas a la red –Dispone de abundante soporte en la Web Breve historia de PHP –Creado por Rasmus Lerdorf para uso personal en 1994 –PHP = Personal Hypertext Processor –Versiones actuales: PHP 4 y 5 –Es un módulo que se añade al servidor web y fue concebido inicialmente para Apache ¿Por qué PHP? –Por sus ventajas: es potente, fácil de aprender, de libre distribución, permite el acceso a bases de datos y otras funcionalidades orientadas a la red –Dispone de abundante soporte en la Web

1.Introducción a PHP Requisitos –Servidor web Apache ( con el módulo PHP ( –base de datos MySQL ( si se desea crear páginas con acceso a bases de datos Otras utilidades –Herramientas para la gestión de MySQL, como PHPMyAdmin ( –Editores de PHP, como DevPHP ( ó PHP Designerwww.sourceforge.net –Manuales de PHP y MySQL Requisitos –Servidor web Apache ( con el módulo PHP ( –base de datos MySQL ( si se desea crear páginas con acceso a bases de datos Otras utilidades –Herramientas para la gestión de MySQL, como PHPMyAdmin ( –Editores de PHP, como DevPHP ( ó PHP Designerwww.sourceforge.net –Manuales de PHP y MySQL

2.Instalación y configuración de un servidor local Todos las aplicaciones mencionadas deberían instalarse separadamente A alguien se le ocurrió facilitar la tarea -> XAMPP ( Pasos: Descargar Instalar Configurar (si es necesario) Probar Todos las aplicaciones mencionadas deberían instalarse separadamente A alguien se le ocurrió facilitar la tarea -> XAMPP ( Pasos: Descargar Instalar Configurar (si es necesario) Probar

–Descargar –Bajar el paquete completo según el sistema operativo utilizado ( –Instalar –Seguir las instrucciones que se encuentran en el mismo sitio –Configurar –Normalmente no es necesario. De serlo, buscar los archivos de cada programa. –Probar –Crear una página PHP de prueba y cargarla con el navegador –Ejemplo: prueba.php –Ejecutar el navegador y teclear la URL –Descargar –Bajar el paquete completo según el sistema operativo utilizado ( –Instalar –Seguir las instrucciones que se encuentran en el mismo sitio –Configurar –Normalmente no es necesario. De serlo, buscar los archivos de cada programa. –Probar –Crear una página PHP de prueba y cargarla con el navegador –Ejemplo: prueba.php –Ejecutar el navegador y teclear la URL <?PHP phpinfo(); ?> prueba.php 2.Instalación y configuración de un servidor local

3.Instalación y configuración de un entorno de desarrollo Hasta aquí tenemos un “servidor” completo y operativo. No alcanza para hacer desarrollos profesionalmente. Instalación del editor Dev-PHP –Descargar de Instalación de PHP Designer –Descargar de Hasta aquí tenemos un “servidor” completo y operativo. No alcanza para hacer desarrollos profesionalmente. Instalación del editor Dev-PHP –Descargar de Instalación de PHP Designer –Descargar de

4.Recursos de PHP Documentación: –Manuales en –Documentos subidos al Campus Tutoriales, scripts y artículos: – – – – – Documentación: –Manuales en –Documentos subidos al Campus Tutoriales, scripts y artículos: – – – – –

Temario Parte II 1.Sintaxis básica 2.Tipos de datos 3.Variables 4.Constantes 5.Expresiones y operadores 6.Estructuras de control 7.Funciones 8.Tablas 9.Bibliotecas de funciones Parte II 1.Sintaxis básica 2.Tipos de datos 3.Variables 4.Constantes 5.Expresiones y operadores 6.Estructuras de control 7.Funciones 8.Tablas 9.Bibliotecas de funciones

Sintaxis básica PHP es sensible a las mayúsculas ¿Cómo se incrusta en la página web? (recomendado, siempre disponible) (obsoleto) Las instrucciones se separan con un ; como en C. Comentarios: como en C, /* … */ y // PHP es sensible a las mayúsculas ¿Cómo se incrusta en la página web? (recomendado, siempre disponible) (obsoleto) Las instrucciones se separan con un ; como en C. Comentarios: como en C, /* … */ y //

Sintaxis básica Para imprimir: echo y print echo: muestra una o más cadenas echo cadena1 [, cadena2…]; echo “Hola mundo”; echo “Hola “, “mundo”; print: muestra una cadena print cadena; print “Hola mundo”; print “Hola “. “mundo”; Para imprimir: echo y print echo: muestra una o más cadenas echo cadena1 [, cadena2…]; echo “Hola mundo”; echo “Hola “, “mundo”; print: muestra una cadena print cadena; print “Hola mundo”; print “Hola “. “mundo”;

Sintaxis básica Ejemplo: Mi primer programa en PHP <?PHP print (“Hola mundo”); ?> Ejemplo: Mi primer programa en PHP <?PHP print (“Hola mundo”); ?>

Sintaxis básica Uso de \n para generar código HTML legible a) Sin \n Uso de \n para generar código HTML legible a) Sin \n print (“ Párrafo 1 ”); print (“ Párrafo 2 ”); Párrafo 1 Párrafo 2 Párrafo 1 Párrafo 2 Código PHP Código HTML Salida

Sintaxis básica Uso de \n para generar código HTML legible b) Con \n Uso de \n para generar código HTML legible b) Con \n print (“ Párrafo 1 \n”); print (“ Párrafo 2 \n”); Párrafo 1 Párrafo 2 Párrafo 1 Párrafo 2 Código PHP Código HTML Salida

Sintaxis básica Inclusión de ficheros externos: –include() –require() Ambos incluyen y evalúan el fichero especificado Diferencia: en caso de error include() produce un warning y require() un error fatal Ejemplo: Inclusión de ficheros externos: –include() –require() Ambos incluyen y evalúan el fichero especificado Diferencia: en caso de error include() produce un warning y require() un error fatal Ejemplo: Título <?PHP // Incluir bibliotecas de funciones require ("$libdir/conecta.php"); require ("$libdir/fecha.php"); require ("$libdir/cadena.php"); require ("$libdir/globals.php"); ?> <?PHP include ("cabecera.html"); ?> // Código HTML + PHP... <?PHP include ("pie.html"); ?> Título <?PHP // Incluir bibliotecas de funciones require ("$libdir/conecta.php"); require ("$libdir/fecha.php"); require ("$libdir/cadena.php"); require ("$libdir/globals.php"); ?> <?PHP include ("cabecera.html"); ?> // Código HTML + PHP... <?PHP include ("pie.html"); ?>

Tipos de datos PHP soporta 8 tipos de datos primitivos: –boolean, integer, double, string –array, object –resource, NULL El tipo de una variable no se suele especificar. Se decide en tiempo de ejecución en función del contexto y puede variar Funciones de interés: –La función gettype() devuelve el tipo de una variable –Las funciones is_type comprueban si una variable es de un tipo dado: is_array(), is_bool(), is_float(), is_integer(), is_null(), is_numeric(), is_object(), is_resource(), is_scalar(), is_string() –La función var_dump() muestra el tipo y el valor de una variable. Es especialmente interesante con los arrays PHP soporta 8 tipos de datos primitivos: –boolean, integer, double, string –array, object –resource, NULL El tipo de una variable no se suele especificar. Se decide en tiempo de ejecución en función del contexto y puede variar Funciones de interés: –La función gettype() devuelve el tipo de una variable –Las funciones is_type comprueban si una variable es de un tipo dado: is_array(), is_bool(), is_float(), is_integer(), is_null(), is_numeric(), is_object(), is_resource(), is_scalar(), is_string() –La función var_dump() muestra el tipo y el valor de una variable. Es especialmente interesante con los arrays

Tipos de datos Tipo integer (números enteros) –27, -5, 0 Tipo double (números reales) –1.234, Tipo boolean (lógico) –Valores: true, false (insensibles a las mayúsculas) –El 0 y la cadena vacía tienen valor false Tipo integer (números enteros) –27, -5, 0 Tipo double (números reales) –1.234, Tipo boolean (lógico) –Valores: true, false (insensibles a las mayúsculas) –El 0 y la cadena vacía tienen valor false

Tipos de datos Tipo string: –Las cadenas se encierran entre comillas simples o dobles: ‘simples’: admite los caracteres de escape \’ (comilla simple) y \\ (barra). Las variables NO se expanden “dobles”: admite más caracteres de escape, como \n, \r, \t, \\, \$, \”. Los nombres de variables SÍ se expanden $a = 9; print ‘a vale $a’; // muestra: a vale $a print “a vale $a”; // muestra: a vale 9 –Acceso a un caracter de la cadena: La forma es $inicial = $nombre{0}; Tipo string: –Las cadenas se encierran entre comillas simples o dobles: ‘simples’: admite los caracteres de escape \’ (comilla simple) y \\ (barra). Las variables NO se expanden “dobles”: admite más caracteres de escape, como \n, \r, \t, \\, \$, \”. Los nombres de variables SÍ se expanden $a = 9; print ‘a vale $a’; // muestra: a vale $a print “a vale $a”; // muestra: a vale 9 –Acceso a un caracter de la cadena: La forma es $inicial = $nombre{0};

Variables Las variables siempre van precedidas de un $ El nombre es sensible a las mayúsculas Comienzan por letra o subrayado, seguido de letras, números o subrayado Variables predefinidas: $GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES, $_ENV, $_REQUEST, $_SESSION Ámbito: globales al fichero (excepto funciones) o locales a una función Ejemplo: $valor = 5; print “El valor es: “. $valor. “\n”; print “El valor es: $valor\n”; // ojo: comillas dobles Resultado: El valor es: 5 Las variables siempre van precedidas de un $ El nombre es sensible a las mayúsculas Comienzan por letra o subrayado, seguido de letras, números o subrayado Variables predefinidas: $GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES, $_ENV, $_REQUEST, $_SESSION Ámbito: globales al fichero (excepto funciones) o locales a una función Ejemplo: $valor = 5; print “El valor es: “. $valor. “\n”; print “El valor es: $valor\n”; // ojo: comillas dobles Resultado: El valor es: 5

Constantes Definición de constantes: define (“CONSTANTE”, “hola”); print CONSTANTE; No llevan $ delante Sólo se pueden definir constantes de los tipos escalares (boolean, integer, double, string) Definición de constantes: define (“CONSTANTE”, “hola”); print CONSTANTE; No llevan $ delante Sólo se pueden definir constantes de los tipos escalares (boolean, integer, double, string)

Expresiones y operadores Operadores aritméticos: +, -, *, /, %, ++, -- Operador de asignación: = operadores combinados:.=, +=, etc $a = 3; $a += 5;  a vale 8 $b = “hola ”; $b.= “mundo”;  b vale “hola mundo”  Equivale a $b = $b. “mundo”; Operadores de comparación: ==, !=,, = y otros Operador de control de Antepuesto a una expresión, evita cualquier mensaje de error que pueda ser generado por la expresión Operadores lógicos: and (&&), or (||), !, xor and/&& y or/|| tienen diferentes prioridades Operadores de cadena: concatenación:. (punto) asignación con concatenación:.= Operadores aritméticos: +, -, *, /, %, ++, -- Operador de asignación: = operadores combinados:.=, +=, etc $a = 3; $a += 5;  a vale 8 $b = “hola ”; $b.= “mundo”;  b vale “hola mundo”  Equivale a $b = $b. “mundo”; Operadores de comparación: ==, !=,, = y otros Operador de control de Antepuesto a una expresión, evita cualquier mensaje de error que pueda ser generado por la expresión Operadores lógicos: and (&&), or (||), !, xor and/&& y or/|| tienen diferentes prioridades Operadores de cadena: concatenación:. (punto) asignación con concatenación:.=

Expresiones y operadores Precedencia de operadores (de mayor a menor): ++, -- *, /, % +,-, >= ==, != && || Precedencia de operadores (de mayor a menor): ++, -- *, /, % +,-, >= ==, != && ||

Estructuras de control if-else while do.. while for foreach switch if-else while do.. while for foreach switch

Estructuras de control if-else if (expresión1) sentencia 1 else if (expresión2) sentencia 2... else if (expresión n) sentencia n else sentencia n+1 Mismo comportamiento que en C Las sentencias compuestas se encierran entre llaves elseif puede ir todo junto if-else if (expresión1) sentencia 1 else if (expresión2) sentencia 2... else if (expresión n) sentencia n else sentencia n+1 Mismo comportamiento que en C Las sentencias compuestas se encierran entre llaves elseif puede ir todo junto

Estructuras de control while while (expresión) sentencia Mismo comportamiento que en C while while (expresión) sentencia Mismo comportamiento que en C

Estructuras de control for for (expresión1; expresión2; expresión3) sentencia Mismo comportamiento que en C for for (expresión1; expresión2; expresión3) sentencia Mismo comportamiento que en C

Estructuras de control switch switch (expresión) { case valor 1: sentencia 1 break; case valor 2: sentencia 2 break; … case valor n: sentencia n break; default sentencia n+1 } Mismo comportamiento que en C, sólo que la expresión del case puede ser integer, float o string switch switch (expresión) { case valor 1: sentencia 1 break; case valor 2: sentencia 2 break; … case valor n: sentencia n break; default sentencia n+1 } Mismo comportamiento que en C, sólo que la expresión del case puede ser integer, float o string

Funciones Ejemplo: function suma ($x, $y) { $s = $x + $y; return s; } $a=1; $b=2; $c=suma ($a, $b); print $c; Ejemplo: function suma ($x, $y) { $s = $x + $y; return s; } $a=1; $b=2; $c=suma ($a, $b); print $c;

Funciones Por defecto los parámetros se pasan por valor Paso por referencia: function incrementa (&$a) { $a = $a + 1; } $a=1; incrementa ($a); print $a; // Muestra un 2 Por defecto los parámetros se pasan por valor Paso por referencia: function incrementa (&$a) { $a = $a + 1; } $a=1; incrementa ($a); print $a; // Muestra un 2

Funciones Argumentos por defecto function muestranombre ($titulo = "Sr.") { print "Estimado $titulo:\n"; } muestranombre (); muestranombre ("Prof."); Salida: Estimado Sr.: Estimado Prof.: Argumentos por defecto function muestranombre ($titulo = "Sr.") { print "Estimado $titulo:\n"; } muestranombre (); muestranombre ("Prof."); Salida: Estimado Sr.: Estimado Prof.:

Funciones Los argumentos con valores por defecto deben ser siempre los últimos: function muestranombre ($nombre, $titulo= "Sr.") { print "Estimado $titulo $nombre:\n"; } muestranombre (“Fernández”); muestranombre (“Fernández”, "Prof."); Salida: Estimado Sr. Fernández: Estimado Prof. Fernández: Los argumentos con valores por defecto deben ser siempre los últimos: function muestranombre ($nombre, $titulo= "Sr.") { print "Estimado $titulo $nombre:\n"; } muestranombre (“Fernández”); muestranombre (“Fernández”, "Prof."); Salida: Estimado Sr. Fernández: Estimado Prof. Fernández:

Arrays Sintaxis: array ([clave =>] valor,...) La clave es una cadena o un entero no negativo. El valor puede ser de cualquier tipo válido en PHP, incluyendo otro array Ejemplos: $color = array (‘rojo’=>101, ‘verde’=>51, ‘azul’=>255); $medidas = array (10, 25, 15); Acceso: $color[‘rojo’] // No olvidar las comillas $medidas[0] El primer elemento es el 0 Sintaxis: array ([clave =>] valor,...) La clave es una cadena o un entero no negativo. El valor puede ser de cualquier tipo válido en PHP, incluyendo otro array Ejemplos: $color = array (‘rojo’=>101, ‘verde’=>51, ‘azul’=>255); $medidas = array (10, 25, 15); Acceso: $color[‘rojo’] // No olvidar las comillas $medidas[0] El primer elemento es el 0

Arrays La estructura de control foreach permite iterar sobre arrays Sintaxis: foreach (expresión_array as $valor) sentencia foreach (expresión_array as $clave => $valor) sentencia Ejemplos: foreach ($color as $valor) print “Valor: $valor \n”; foreach ($color as $clave => $valor) print “Clave: $clave; Valor: $valor \n”; Salida: Valor: 101 Valor: 51 Valor: 255 Clave: rojo; Valor: 101 Clave: verde; Valor: 51 Clave: azul; Valor: 255 La estructura de control foreach permite iterar sobre arrays Sintaxis: foreach (expresión_array as $valor) sentencia foreach (expresión_array as $clave => $valor) sentencia Ejemplos: foreach ($color as $valor) print “Valor: $valor \n”; foreach ($color as $clave => $valor) print “Clave: $clave; Valor: $valor \n”; Salida: Valor: 101 Valor: 51 Valor: 255 Clave: rojo; Valor: 101 Clave: verde; Valor: 51 Clave: azul; Valor: 255

Bibliotecas de funciones Existen muchas bibliotecas de funciones en PHP Algunos ejemplos: –Funciones de manipulación de cadenas –Funciones de fecha y hora –Funciones de arrays –Funciones de ficheros –Funciones matemáticas –Funciones de bases de datos –Funciones de red Algunas bibliotecas requieren la instalación de componentes adicionales Todas las funciones de biblioteca están comentadas en la documentación de PHP Existen muchas bibliotecas de funciones en PHP Algunos ejemplos: –Funciones de manipulación de cadenas –Funciones de fecha y hora –Funciones de arrays –Funciones de ficheros –Funciones matemáticas –Funciones de bases de datos –Funciones de red Algunas bibliotecas requieren la instalación de componentes adicionales Todas las funciones de biblioteca están comentadas en la documentación de PHP