introduccion a php

34
PHP

Upload: jose-antonio-zafra-herruzo

Post on 16-Mar-2016

218 views

Category:

Documents


0 download

DESCRIPTION

introduccion a php

TRANSCRIPT

Page 1: introduccion a php

PHP

Page 2: introduccion a php

Lenguaje PHP básico

IntroducciónSintaxis básicaTipos de datosVariablesConstantesExpresiones y operadoresEstructuras de controlFuncionesTablasBibliotecas de funciones

Page 3: introduccion a php

Introducción

PHP es un lenguaje de programación interpretado

Diseñado originalmente para la creación de páginas web dinámicas

Usado principalmente en interpretación del lado del servidor

Actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas (aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+)

La mayor parte de su sintaxis ha sido tomada de C, Java y Perl

Otras tecnologías de servidor: Coldfusion, JSP, PHP, ASP o

Page 4: introduccion a php

Web estática vs dinámica

Página estática compuesta por código HTML.

Cuando el archivo es requerido por el navegador, el servidor lo envía y tal cual

Todos los visitantes verán el mismo contenido.

Page 5: introduccion a php

Web estática vs dinámica

En sitio dinámico, la página se procesa en el servidor antes de ser enviada al navegador.

El archivo en php contiene código php que al ser ejecutado generará código html.

Al ejecutar el código, pueden hacerse consultas/accesos a bases de datos u otros archivoso o servicios.

El resultado final que se envía al navegador tiene extensión .php, pero es código HTML

Resultado generado para este visitante en particular

Page 6: introduccion a php

Esquema de funcionamiento

Page 7: introduccion a php

Sintaxis básica

PHP es sensible a las mayúsculas

¿Cómo se incrusta en la página web?

<?PHP ... ?>

Comentarios: como en C, /* … */ y //

Las instrucciones se separan con un ; como en C. La marca final ?> implica un ;

Page 8: introduccion a php

Sintaxis básica

Para devolver un texto: echo y print

echo: muestra una o más cadenasecho cadena1 [, cadena2…]; // no es una función

echo “Hola mundo”;echo “Hola “, “mundo”;

print: muestra una cadenaprint cadena; // no es una función

print “Hola mundo”;print “Hola “ . “mundo”;

Page 9: introduccion a php

Sintaxis básica

Ejemplo:<HTML><HEAD><TITLE>Mi primer programa en PHP</TITLE>

</HEAD>

<BODY><?PHP

echo (“<p>Hola mundo</p>”);

?>

</BODY></HTML>

Page 10: introduccion a php

Sintaxis básica

Uso de \n para generar código HTML legiblea) Sin \n

echo (“<P>Párrafo 1</P>”);echo (“<P>Párrafo 2</P>”);

<P>Párrafo 1</P><P>Párrafo 2</P>

Párrafo 1

Párrafo 2

Código PHP

Código HTML

Salida

Page 11: introduccion a php

Sintaxis básica

Uso de \n para generar código HTML legibleb) Con \n

echo (“<P>Párrafo 1</P>\n”);echo (“<P>Párrafo 2</P>\n”);

<P>Párrafo 1</P><P>Párrafo 2</P>

Párrafo 1

Párrafo 2

Código PHP

Código HTML

Salida

Page 12: introduccion a php

Sintaxis básica

Inclusión de ficheros externos:include()require()Ambos incluyen y evalúan el fichero especificadoDiferencia: en caso de error include() produce un warning y require() un error fatalSe usará require() si al producirse un error debe interrumpirse la carga de la páginaEjemplo:

Page 13: introduccion a php

Sintaxis básica

<HTML><HEAD> <TITLE>Título</TITLE><?PHP

// Incluir bibliotecas de funciones

require ("$libdir/conecta.php");

require ("$libdir/fecha.php");

?>

</HEAD>

<BODY><?PHP

include ("cabecera.html");

?>

// Código HTML + PHP

. . .

<?PHP

include ("pie.html");

?>

</BODY></HTML>

Page 14: introduccion a php

Tipos de datos

PHP soporta 8 tipos de datos primitivos:boolean, integer, double, string (escalares)array, object (compuestos)resource, NULLEl tipo de una variable no se suele especificar. Se decide en tiempo de ejecución en función del contexto y puede variarFunciones de interés:La función gettype() devuelve el tipo de una variableLas 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()

Page 15: introduccion a php

Tipos de datos

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

Page 16: introduccion a php

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;echo ‘a vale $a’; // muestra a vale $aecho “a vale $a”; // muestra a vale 9

Page 17: introduccion a php

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 subrayadoVariables predefinidas del sistema.:

$GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES,$_ENV, $_REQUEST, $_SESSION

Ámbito: globales al fichero (excepto funciones) o locales a una función

Page 18: introduccion a php

Constantes

Definición de constantes:define (“CONSTANTE”, “hola”);echo CONSTANTE;

No llevan $ delanteSólo se pueden definir constantes de los tipos escalares (boolean, integer, double, string)

Page 19: introduccion a php

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 error: @. Antepuesto a una expresión, evita cualquier mensaje de error que pueda ser generado por la expresiónOperadores de cadena:

concatenación: . (punto)asignación con concatenación: .=

Operadores lógicos:and (&&), or (||), !, xor

Page 20: introduccion a php

Expresiones y operadores

Precedencia de operadores (de mayor a menor):

++, --*, /, %+,-<, <=, >, >===, !=&&||

Page 21: introduccion a php

Estructuras de control

if-elsewhiledo .. whileforforeachswitch

Page 22: introduccion a php

Estructuras de control

if-elseif (expresión1)

sentencia 1else if (expresión2)

sentencia 2...else if (expresión n)

sentencia nelse

sentencia n+1Mismo comportamiento que en C Las sentencias compuestas se encierran entre llaveselseif puede ir todo junto

Page 23: introduccion a php

Estructuras de control

whilewhile (expresión)

sentencia

Mismo comportamiento que en C

Page 24: introduccion a php

Estructuras de control

forfor (expresión1; expresión2; expresión3)

sentencia

Mismo comportamiento que en C

Page 25: introduccion a php

Estructuras de control

switchswitch (expresión){

case valor 1:sentencia 1break;

case valor 2:sentencia 2break;

…case valor n:

sentencia n break;

defaultsentencia n+1

}

Mismo comportamiento que en C, sólo que la expresión del case puede ser integer, float o string

Page 26: introduccion a php

Funciones. Declaración

Declaración de funciónes:desde PHP4 se pueden declarar antes y después del

lugar donde es llamada.

function suma ($x, $y){ // Declaracion

$s = $x + $y; return $s; // Devuelve

valor }

Page 27: introduccion a php

Funciones. Paso deparámetros

Por defecto los parámetros se pasan por valorPara pasarlos por referencia utilizamos el operador &

function incrementa (&$a){ $a = $a + 1;}

$a=1;incrementa ($a);print $a; // Muestra un 2

Page 28: introduccion a php

Funciones. Argumentos por defecto

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

Salida:Estimado Sr.:Estimado Prof.:

Page 29: introduccion a php

Funciones. Argumentos por defecto

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:

Page 30: introduccion a php

Arrays. Arrays asociativos

Un array es una variable que está compuesta de varios elementos a los que podemos acceder mediante un índice numérico o una clave.Declaración. Sintaxis:

array ([clave =>] valor, ...)

La clave puede ser una cadena o un entero no negativo.

El valor puede ser de cualquier tipo válido en PHP, incluyendo otro arrayEjemplos:

$colores = array (‘rojo’=>101, 5=>51, ‘azul’=>255);$medidas = array (10, 25, 15);

Acceso:echo $color[‘rojo’] // Muestra 101. No olvidar las comillasecho $medidas[0] // Muestra 10

El primer elemento es el 0También la clave puede ser omitida:

$matriz = array(5 => 1, 12 => 2);

Page 31: introduccion a php

Arrays. Recorrido

La estructura de control foreach permite iterar sobre arraysSintaxis:

foreach (expresión_array as $valor)sentencia

foreach (expresión_array as $clave => $valor)sentencia

Ejemplos:foreach ($color as $valor)

print “Valor: $valor<BR>\n”;foreach ($color as $clave => $valor)

print “Clave: $clave; Valor: $valor<BR>\n”;

Salida:Valor: 101Valor: 51Valor: 255Clave: rojo; Valor: 101Clave: verde; Valor: 51Clave: azul; Valor: 255

Page 32: introduccion a php

Arrays multidimensionalesUna forma muy practica de almacenar datos es mediante la

creación de arrays multidimensionales (tablas).

Un array multidimensional es simplemente un array en el que al menos uno de sus valores es, a su vez, un array. Ejemplo:

$cosas = array ( "frutas" => array ( "a" => "naranja",

"b" => "banano",

"c" => "manzana"

),

"números" => array ( 1,

2,

3,

4,

5,

Page 33: introduccion a php

Arrays hasta en la sopa

Te gusten o no, si deseas usar php, deberás familiarizarte con los arrays.

Para recuperar datos de una base de datos, obtienes un array. Si dispones un conjunto de formularios, las variables pueden manejarse en forma de array; a los autores de PHP los arrays les encantan.

Existen algunos arrays predefinidos de alcance global por lo que podemos acceder desde cualquier parte de nuestro script. Uno de ellos es $_SERVER.

Page 34: introduccion a php

Bibliotecas de funciones

Existen muchas bibliotecas de funciones en PHPAlgunos ejemplos:Funciones de manipulación de cadenasFunciones de fecha y horaFunciones de arraysFunciones de ficherosFunciones matemáticasFunciones de bases de datosFunciones de redAlgunas bibliotecas requieren la instalación de componentes adicionalesTodas las funciones de biblioteca están comentadas en la documentación de PHP