PHP
PHP HiperText Preprocesor
1
Contenidos
Introduccin Sintaxis bsica Variables, tipos y operadores Variables predefinidas Constantes Estructuras de Control Incluir cdigo de ficheros externos Funciones Accediendo a MySQL Cookies Sesiones Ficheros y directorios Clases y Objetos (PHP 5)2
Introduccin
Que es PHP?
Lenguaje de programacin de alto nivel Empotrado en pginas HTML Ejecutado en servidor Software libre3
Introduccin (II)
Que puedo hacer con PHP?
Scripts del lado del servidor Scripts en linea de comandos Aplicaciones con interfaz grfica PHP-GTK
4
Introduccin (III)
Scripts del lado del servidorServidor HTML + PHP Cliente Procesa PHP LDAP BD
Genera HTML
...
/5
Introduccin (III)
Scripts del lado del servidorServidor Web : Apache2 HTML + PHP Navegador (Firefox)
Servidor BD: MySQL
Procesa PHP
Genera HTML c:\
6
Introduccin
Requisitos
PHP5 Servidor Web : apache2 Servidor BD : mysql Editor : netbeans
Todo en 1 : XAMPP (Apache + MySQL + PHP) Netbeans Software libre !!!
7
Introduccin
Instalacin en windows
XAMPP : http://www.apachefriends.org/es/xampp.htmlInstaller : Instalacin por defecto : C:\xampp Raiz de documentos : c:\xampp\htdocs Configuracin php : c:\xampp\apache\bin\php.ini Configuracin apache : C:\xampp\apache\conf\httpd.conf Configuracin mysql : C:\xampp\mysql\bin\my.cnf
Navegador : http://localhost MySQL : http://localhost/phpmyadmin8
Introduccin
Instalacin en windows (II)Editor de scripts php
Editor de texto plano IDE (Entorno de desarrollo integrado)
Editor Resaltado de sintaxis Plantillas html Debuger Proyectos ...9
Introduccin
Instalacin en windows (II)
IDE : Netbeans, Eclipse, Zend Studio NetBeans http://www.netbeans.org/downloads/index.html PHP + Spanish + Windows
10
Introduccin
Primer proyecto php en netbeans
Archivo Proyecto nuevo Categora PHP Proyectos PHP application Project Name Nombre_del_proyecto Sources folder C:\xampp\htdocs\Nombre_del_proyecto Run as Local web site Project URL http://localhost/Nombre_del_proyecto11
Introduccin
Primer proyecto php en netbeans (II)Nombre del projecto : PhpProject1
12
Introduccin
Primer proyecto php en netbeans (II)
Ejecutar proyecto: Ejecutar Set project configuration Personalizar
13
Ejecutar proyecto
Sintaxis Bsica (I)
Cdigo PHP empotrado en documentos HTML Instrucciones entre etiquetas:
... XHTML XML14
recomendado :
Sintaxis Bsica (II)
Ejemplo
Ttulo de la pgina
15
Sintaxis Bsica (III)
Scripts PHP :
Serie de sentencias / instrucciones Ejecutadas secuencilmente Datos en variables Estructuras de control Funciones Clases (POO)
16
Sintaxis Bsica (IV)
Los espacios/tabulaciones/saltos de linea entre las instrucciones, no afectan al comportamiento
Las siguientes instrucciones tienen el mismo resultado:echo hola mundo ?> ;?>
17
Sintaxis Bsica (V)
Las instrucciones siempre se finalizan con punto y coma 18
Sintaxis Bsica (VI)
Comentarios : Texto que no se ejecuta
Linea : //
Bloque: /* ... */
Estos comentarios produciran un error 19
Variables
Los datos se almacenan en variables
Las variables se representan con un signo de dolar seguido por el nombre de la variable Sensible a maysculas/minsculas El nombre de la variable :
Empezar con letra o _ (guin bajo) Contener : letras nmeros _ INCORRECTO
CORRECTO
20
Operadores de Asignacin
Asignacin : =
Permite asignar valores a variables El operando de la izquierda recibe el valor de la expresin de la derecha
9 4
21
Variables (II)
A diferencia de otros lenguajes PHP es un lenguaje no tipado El programador no decide el tipo de una variable El tipo lo decide PHP en tiempo de ejecucin dependiendo del contexto
22
Variables (III)
Para forzar variables
settype($variable,tipo) Moldear variables (casting) var_dump($variable); print_r($variable) echo printf23
Mostrar tipo variable
Mostrar contenido variable
Variables (IV)
Mostrar contenido variables : ejemplos
24
Variables (V)
Mostrar contenido variables : Saltos de linea Fuente HTML : 123Pgina en construccin Navegador: 123Pgina en construccin
25
Variables (VI)
Mostrar contenido variables : Saltos de linea (II) Fuente HTML :
123
Pgina en construccin Navegador: 123 Pgina en construccin26
Variables (VII)
Mostrar contenido variables : Saltos de linea (III) Fuente HTML : 123 Pgina en construccin Navegador: 123Pgina en construccin27
Pasar datos entre scripts
HTTP : protocolo sin estado El valor de las variables existe durante la vida del script (pgina) Pasar datos entre scripts (pginas)
Formularios Enlaces GET Cookies Sesiones
28
Obtener variables de formularios
Metodo : POST 30
Tipos
Tipos
Escalares
Enteros Coma flotante Cadenas Booleanos Matrices Objetos
Compuestos
Null Resource31
Tipos : Enteros
Enteros (Integer)
Nmeros enteros del conjunto Z = {...,-2,1,0,1,2,...} Tamao depende de la plataforma Usual : 32 bits con signo Z = {-2147483647,-2147483646,...,-1,0,1,2147483646,2147483647} Si se desborda un entero ser interpretado como float (numero de coma flotante)
32
Tipos : Enteros (II)
Enteros (Integer)Declarando variables de enteros: Desbordamiento de enteros :
33
Tipos : Reales
Nmeros de coma flotante (Float)
Nmeros reales Tambin conocidos como doble o real Tamao depende de la plataforma Usual : ~1.8e308
34
Tipos : Reales (II)
Float : Imprimir variables de tipo float
echo$num=16.6765464; echo $num; 16.6765464
printf
35
Operadores aritmticos
Podemos realizar operaciones aritmticas
Operacion suma resta multiplicacion division mdulo (resto) negacin
Operador + * / % -
Ejemplo $total = $precio + $iva; $oferta = $total - $descuento; $iva = $precio*0.16; $media = $suma / $total; $resto = $total % 5; $a = 10*-$b;
El operador ' / ' devuelve un valor flotante a menos que los dos operandos sean enteros y los nmeros sean divisibles sin residuos36
Operadores aritmticos (II)
El orden de ejecucin :
* +
/ -
%
Izquierda a derecha Parntesis : orden de ejecucinecho 8%(3*5); // 8 echo 8*(3%5); //24 echo 5 *( 8 % 3); //10 echo 5 %( 8 * 3); // 5
echo ((($a+($b-$c))/$d) % 3); //parntesis de aperture = parntesis de cierre37
Operadores aritmticos (III)
Ejemplos :
38
Operadores aritmticos (IV)
Operadores de incremento/decremento :Operacion Pre-incremento Post-incremento Pre-decremento Post-decremento Ejemplo ++$a $a++ --$a $a-Ejemplo Incrementa $a en uno, y luego devuelve $a. Devuelve $a, y luego incrementa $a en uno. Decrementa $a en uno, luego devuelve $a. Devuelve $a, luego decrementa $a en uno.
39
Tipos : Cadenas
Cadenas (String)
Secuencia de caracteres Antes de PHP 6 : un carcter -> un byte 256 tipos de caracteres diferentes Diferentes maneras de especificar Caracteres de escape No hay limite de tamao
40
Tipos : Cadenas
Cadenas (String) : Definicin de cadenas
Comillas simples : ' Imprimir comilla simple:
\' \\
Para imprimir barra invertida
41
Tipos : Cadenas
Cadenas (String) : Definicin de cadenas
Comillas dobles : Esto es una cadena Caracteres escapados
\n \t \\ \$ \
: Imprime una linea nueva : Imprime una tabulacin horizontal : Imprime una barra invertida : Imprime un signo de dlar : Imprime una comilla doble
Los nombres de las variables sern expandidos42
Tipos : Cadenas
Cadenas : Comillas dobles
43
\n !=
Tipos : Cadenas
Cadenas : Expansin de variables
Las variables son interpretadas