1 PHP L.I. José Manuel Cazarez Alderete Powerpoint Templates
2 PHP (acrónimo de PHP: Hypertext Preprocessor) es un lenguaje de código abierto muy popular especialmente adecuado para desarrollo web y que puede ser incrustado en HTML. PHP permite crear scripts que corren del lado del servidor, es ampliamente utilizado debido a su sencillez y su libre costo. Una de las ventajas principales de PHP es el gran soporte para distintos sistemas gestores de base de datos.
3 Historia 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".
4 Historia 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.
5 Historia En junio de 1995, Rasmus » publicó el código 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.
6 Versiones de PHP Versión Fecha de lanzamiento Notas 1.0 08-06-1995Llamada oficialmente "Personal Home Page Tools (PHP Tools)". Es la primera versión en usar el nombre "PHP". 2.0 Considerada por sus creadores la "herramienta más rápida y sencilla" para crear páginas web dinámicas. 3.0 Zeev Suraski y Andi Gutmans reescribieron la base para esta versión. 4.0 Se añadió un sistema de parsing de dos fases llamado motor Zend. 4.1 Se introducen 'superglobales' ($_GET, $_POST, $_SESSION, etc.) 4.2 Se deshabilitan register_globals por defecto. Datos recibidos por la red no son insertados en el espacio de nombres global, cerrando posibles agujeros de seguridad en las aplicaciones. 4.3 Se introduce CLI y CGI. 4.4 Se añaden páginas man para phpize y php-config. 5.0 Motor Zend II con un nuevo modelo de objetos. 5.1 Mejoras de rendimiento con la introducción de variables de compilador para el nuevo motor de PHP. 5.2 Activida extensión de filtro por defecto. Soporte JSON nativo.
7 Versiones de PHP Versión Fecha de lanzamiento Notas 5.3 30-06-2009Soporte para espacios de nombres, enlace estático en tiempo de ejecución, etiqueta de salto (goto limitada), Clausuras nativas, Soporte nativo para archivos PHP (phar), recolección de basura para referencias circulares, soporte mejorado para Windows, sqlite3, mysqlnd como reemplazo a libmysql como biblioteca para extensiones que funcionan con MySQL, fileinfo como reemplzado de mime_magic para mejor soporte MIME, extensión de Internacionalización, y etiqueta ereg obsoleta. 5.4 Soporte para Trait y sintaxis abreviada de array. Elementos removidos: register_globals, safe_mode, allow_call_time_pass_reference, s ession_register(), session_unregister() y session_is_registered(). Servidor web incorporado. Varias mejoras a características existentes y al rendimiento, y requerimientos de memoria menores. 5.5 Nuevos generadores para bucles, empty() soporta expresiones. Se pierde el soporte para Windows XP y Windows Server 2003. 6.0 Sin fecha El desarrollo de PHP 6 ha sido retrasado porque los desarrolladores decidieron que el enfoque actual para tratar cadenas Unicode no es correcto, y están considerando formas alternas para la siguiente versión. Las mejoras planeadas para PHP 6 fueron añadidas en su lugar en PHP (Soporte para espacios de nombre, enlace estático en tiempo de ejecución, funciones lambda, clausuras, goto) y (traits, revinculación de clausura).
8 Introducción ¿Qué se necesita para utilizar PHP?Servidor WEB que soporte PHP (Apache). Para el desarrollo se utilizará AppServ / XAMPP: Apache PHP MySQL PhpMyAdmin
9 Introducción Primer script PHP
10
11 Introducción
12 Referencia del LenguajeCuando PHP interpreta un archivo, busca las etiquetas de apertura y fin de bloque, que dicen a PHP donde empezar y finalizar la interpretación del código. Este mecanismo permite a PHP ser incrustado en todo tipo de documentos, todo lo que esté fuera de las etiquetas de PHP será ignorado por el interpretador. Este texto va a ser ignorado. Esto también será ignorado.
13 Comentarios en PHP PHP soporta diferentes tipos de comentarios.Comentarios de una sola Línea // Esto es un comentario de una sola línea Comentarios de mas de una línea /* Este es un comentario de mas de una línea. */
14 Comentarios en PHP /* Este es un comentario de mas de una línea. */ // Este es otro comentario de una línea ?>
15 Variables y Tipos de DatosEn 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. $anio = 2011; $pi = ; $nombre = ‘juan perez’; ?>
16 Variables y Tipos de DatosPHP no requiere que indiquemos el tipo que va a contener una variable, sino que lo deduce del valor que asignemos a la variable. Asimismo, se encarga de actualizar automáticamente el tipo de la variable cada vez que le asignamos un nuevo valor. Por ello, para cambiar el tipo de una variable simplemente le asignamos un valor con un nuevo tipo.
17 Variables y Tipos de DatosPHP reconoce los siguientes tipos de datos. Tipos de datos escalares: boolean integer float string Tipos de datos compuestos: object array
18 Constantes Para crear una constante en PHP debemos utilizar la instrucción define. Sintaxis: define (“NombreConstante”, valor); Ejemplo: define (“pi”, );
19 Constantes CONSTANTE UTILIZACIÓNPHP cuenta con algunas constantes definidas: CONSTANTE UTILIZACIÓN __FILE__ Obtiene el PATH del archivo que esta en ejecución. __LINE__ Obtiene el numero de línea del archivo. PHP_VERSION Obtiene la versión instalada de PHP PHP_OS Obtiene el sistema operativo en el que se está ejecutando PHP.
20 Operadores AritméticosNombre Ejemplo + Suma $a + $b - Resta $a - $b * Multiplicación $a * $b / División $a / $b % Módulo $a % $b
21 Operadores RelacionalesNombre Ejemplo > Mayor que $a > $b < Menor que $a < $b >= Mayor o igual que $a >= $b <= Menor o igual que $a <= $b != Diferente $a != $b == Igual $a == $b
22 Operadores Lógicos ! && || Not ! $a And (y) $a && $b Or (o) $a || $bNombre Ejemplo ! Not ! $a && And (y) $a && $b || Or (o) $a || $b
23 Incremento y DecrementoOperadores de Incremento y Decremento Operador Nombre Ejemplo ++ Incremento $a++ -- Decremento $a-- ++$a Pre-Incremento --$a Post-Incremento
24 Estructura Condicional SimpleEstructuras Condicionales Estructura Condicional Simple if(
25 Estructura Condicional DobleEstructuras Condicionales Estructura Condicional Doble if(
26 Estructura Condicional AnidadaEstructuras Condicionales Estructura Condicional Anidada if(
27 Estructura Condicional MultipleEstructuras Condicionales Estructura Condicional Multiple $i = 1; 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"; } ?>
28 Estructuras Repetitivas Ciclo for//ejemplo 1 for($i = 1; $i <= 10; $i++) { echo $i; } //ejemplo 2 for ($i = 1; ; $i++) if ($i > 10) break; //ejemplo 3 $i = 1; for (; ; ) { if ($i > 10) break; } echo $i; $i++;
29 Estructuras Repetitivas Ciclo while//ejemplo 1 $i = 1; while ($i <= 10) { echo $i++; } //ejemplo 3 $i = 1; while ($i <= 10): echo $i; $i++; endwhile;
30 Estructuras Repetitivas Ciclo do - while//ejemplo $i = 1; do { echo $i; $i++; } while ($i <= 10);
31 Arreglos //Ejemplo 1 //ejemplo 2 //Ejemplo 1 //ejemplo 2$materias[0] = “diseño web”; $materias[1] = “programacion”; $materias[2] = “base de datos”; //ejemplo 2 $empleado[0] = “123”; $empleado[1] = “Juan Lopez”; $empleado[2] = “gerente”; $empleado[3] = 48; $empleado[4] = 25000; //Ejemplo 1 $materias[] = “diseño web”; $materias[] = “programacion”; $materias[] = “base de datos”; //ejemplo 2 $empleado[1] = “123”; $empleado[8] = “Juan Lopez”; $empleado[2] = “gerente”; $empleado[4] = 48; $empleado[6] = 25000;
32 Arreglos //ejemplo 5 //ejemplo 6 //ejemplo 7$empleado[“clave”] = “123”; $empleado[“nombre”] = “Juan Lopez”; $empleado[“puesto”] = “gerente”; $empleado[“edad”] = 48; $empleado[“sueldo”] = 25000; //ejemplo 6 $empleado = array(“123”, “Juan Lopez”, “gerente”, 48, 25000); //ejemplo 7 $empleado = array(“clave” => “123”, “nombre” => “Juan Lopez”, “puesto” => “gerente” , “edad” => 48, “sueldo” => 25000);
33 Arreglos - Recorrer Existen varias alternativas para recorrer o iterar un arreglo: // ejemplo 1 $paises = array("argentina", "mexico", "usa", "japon"); for($i=0; $i < count($paises); $i++) { echo “indice = $i
"; echo “valor = $paises[$i]
"; } La función count regresa el número de elementos que existen en el arreglo.
34 Arreglos - Recorrer //ejemplo 2$paises = array("argentina", "mexico", "usa", "japon"); reset($paises); do { $clave = key($paises); $valor = current($paises); echo "clave = $clave
"; echo "valor = $valor
"; }while(next($paises));
35 Arreglos - Recorrer La función reset coloca el puntero en la primer posición del arreglo. La función key obtiene la clave o el índice de la posición actual del arreglo. La función current obtiene el valor actual del arreglo. La función next avanza a la siguiente posición del arreglo. En caso de llegar el final del arreglo esta función regresa false. Para recorrer el arreglo de forma invertida debe reemplazar la función reset por end y la función next por prev.
36 Arreglos - Recorrer //ejemplo 3$paises = array("argentina", "mexico", "usa", "japon"); while(list($clave,$valor) = each($paises)) { echo "clave = $clave
"; echo "valor = $valor
"; echo "
"; } La función each regresa dos valores, clave/valor actual del arreglo y avanza el cursor del arreglo. La función list se utiliza para asignar una lista de variables.
37 Estructuras Repetitivas Ciclo foreach//ejemplo 3 $paises = array("argentina", "mexico", "usa", "japon"); foreach($paises as $valor) { echo $valor; echo “
”; } //ejemplo 4 foreach($paises as $indice => $valor) echo “indice : $indice
”; echo “valor : $valor
”;
38 Funciones Las funciones son un conjunto de instrucciones agrupadas en un nombre para ser utilizadas cuantas veces sea necesario en una aplicación o programa. Una función en PHP se hace de la siguiente manera: function
39 Funciones Ejemplo: function Sumar($num1, $num2) {return $num1 + $num2; } Una función puede recibir cualquier cantidad de parámetros separados por coma. La instrucción return se utiliza cuando la función va a regresar un valor.
40 Funciones func_num_args. Devuelve el numero de parámetros enviados a la función. func_get_args. Devuelve un array con los parámetros enviados a la función. func_get_arg. Devuelve un elemento del array de parámetros enviados en base a un índice.
41 Funciones Ejemplo 2: function Sumar() {$numeroParametros = func_num_args(); $parametros = func_get_args(); $suma = 0; for($i=0; $i < $numeroParametros; $i++) $suma += $parametros[$i]; } return $suma;
42 Funciones Fecha getdate() date("m/d/y") date("r") Cadena Arreglosstrtoupper strtolower strlen strrev substr($string,$inicio,$fin) trim Arreglos count sizeof reset end next Prev Funciones func_num_args func_get_arg func_get_args
43 Funciones Matematicas abs sqrt min max cos sin ceil floor pow
44 Incluir Archivos Para reutilizar porciones de código entre varias paginas en PHP se tienen varias funciones: include include_once require require_once La diferencia entre include y require consiste en que con include si el archivo a insertar no existe, entonces manda una advertencia y sigue la ejecución del script, y con require manda un error fatal y detiene la ejecución del script.
45 Incluir Archivos Para insertar una página dentro de un script en PHP es: //ejemplo con include include(‘menu.php’); include_once(‘menu.php’); //ejemplo con require require(‘menu.php’); require_once(‘menu.php’);
46 Incluir Archivos Tanto include_once y require_once funcionan al igual que include y require, con la única diferencia que si el archivo a insertar ha sido insertado previamente en el script ya no será insertado de nuevo.
47 Manejo de Archivos La manipulación de archivos es una practica común en cualquier sitio web. Por esto, PHP ofrece algunas funciones fundamentales para el tratamiento de archivos. Las operaciones principales que se hacen con archivos son: Abrir. Leer e Imprimir. Cerrar.
48 Manejo de Archivos Para abrir un archivo en PHP se puede utilizar la siguiente función: $archivo = fopen(“ruta_archivo”, “modo”); Donde ruta_archivo es la dirección donde se encuentra el archivo que se quiere abrir. Y modo es la forma como se va abrir el archivo.
49 Manejo de Archivos “r” – Sólo lectura. “r+” – Lectura y escritura.Los diferentes modos de apertura de un archivo son: “r” – Sólo lectura. “r+” – Lectura y escritura. “w” – Solo escritura. “w+” – Lectura y escritura. (Suprime el contenido anterior si se escribe. El archivo es creado si no existe.) “a” - Sólo escritura. (El archivo es creado si no existe y el puntero se coloca al final). “a+” -Lectura y escritura. (El archivo es creado si no existe y el puntero se coloca al final.)
50 Manejo de Archivos Para leer un archivo se pueden utilizar las siguientes funciones: fgets ($archivo, [$tamanio]); fread ($archivo, $numero_bytes); Donde $archivo es la variable que contiene el manejador del archivo y $tamanio es el tamaño máximo de caracteres a leer (este parámetro es opcional en la función fgets). La función fread se utiliza con archivos binarios.
51 Manejo de Archivos Para escribir en un archivo se puede utilizar la siguiente función: fwrite($archivo, $string, [$tamanio]); Donde $archivo es la variable que contiene el manejador del archivo. $string es la cadena que se va a escribir el archivo y $tamanio es el tamaño máximo de caracteres a escribir (este parámetro es opcional).
52 Manejo de Archivos Despues de utilizar un archivo se debe cerrar, para eso se puede utilizar la función: fclose($archivo); Donde $archivo es la variable que contiene el manejador del archivo.
53 Manejo de Archivos copy($origen, $destino);Además, existen otras funciones adicionales para copiar, renombrar y eliminar archivos. Copiar Archivo. copy($origen, $destino); Renombrar Archivo. rename($nombre_anterior,$nuevo_nombre); Eliminar Archivo. unlink($archivo);
54 Manejo de Directorios PHP también dispone de algunas funciones para el manejo de directorios: Abrir un directorio: $directorio = opendir(“ruta_archivo_directorio”); Leer un directorio: $archivo = readdir($directorio); Cerrar un directorio: closedir($directorio);
55 Programación Orientadas a Objetos class Rectangulo { public $base; public $altura; function CalcularArea() return $this->base * $this->altura; } function CalcularPerimetro() return (2 * $this->base) + (2 * $this->altura ); ?>
56 Programación Orientadas a Objetos include (“rectangulo.php"); $rect = new Rectangulo(); $rect->altura = 10; $rect->base = 5; echo "Area : " . $rect->CalcularArea() ."
"; echo "Perimetro: " . $rect->CalcularPerimetro(); ?>
57 Programación Orientadas a Objetos class Rectangulo { private $base, $altura; function __construct($b, $a) $this->base = $b; $this->altura = $a; } function CalcularArea() return $this->base * $this->altura; function CalcularPerimetro() return (2 * $this->base) + (2 * $this->altura ); ?>
58 Programación Orientadas a Objetos include("rectangulo.php"); class Cuadrado extends Rectangulo { function __construct($a) parent::__construct($a,$a); } function CalcularArea() return $this->base * $this->altura; function CalcularPerimetro() return (2 * $this->base) + (2 * $this->altura ); ?>
59 PHP y Formularios HTML 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. Ejemplo #1 Un formulario HTML sencillo Su nombre: Su edad:
60 PHP y Formularios HTML 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 archivo de podría escribir algo así: Ejemplo - Mostrar información de nuestro formulario Hola . Usted tiene años. Un ejemplo del resultado de este script podría ser: Hola José. Usted tiene 22 años.
61 PHP y Formularios HTML Ejemplo #2 (método post): uno.php dos.php edad: