Desarrollo de sitios web conPHP y MySQLTema 2: Lenguaje PHP bsicoJos Mariano Gonzlez [email protected]
Tema 2: Lenguaje PHP bsicoSintaxis bsicaTipos de datosVariablesConstantesExpresiones y operadoresEstructuras de controlFuncionesTablasBibliotecas de funciones
Sintaxis bsicaPHP es sensible a las maysculasCmo se incrusta en la pgina web?recomendado, siempre disponibleequivale a Las instrucciones se separan con un ; como en C. La marca final ?> implica un ;Comentarios: como en C, /* */ (varias lneas ) y // (una lnea) /* Comentario de varias lneas */ print hola; // Comentario de una lnea
Sintaxis bsicaPara imprimir: echo y print echo: muestra una o ms cadenasecho cadena1 [, cadena2]; echo Hola mundo;echo Hola , mundo; print: muestra una cadenaprint cadena; print Hola mundo;print Hola . mundo;
Sintaxis bsicaEjemplo:
Mi primer programa en PHP
Sintaxis bsicaUso de \n para generar cdigo HTML legiblea) Sin \nprint (Prrafo 1);print (Prrafo 2);
Prrafo 1Prrafo 2
Prrafo 1
Prrafo 2Cdigo PHPCdigo HTMLSalida
Sintaxis bsicaUso de \n para generar cdigo HTML legibleb) Con \nprint (Prrafo 1\n);print (Prrafo 2\n);
Prrafo 1Prrafo 2
Prrafo 1
Prrafo 2Cdigo PHPCdigo HTMLSalida
Sintaxis bsicaEjercicio 1: programa que muestra un mensajeIlustra cmo incrustar cdigo PHP en un documento HTML y cmo imprimir desde PHP
Sintaxis bsicaInclusin de ficheros externos:include()require()Ambos incluyen y evalan 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 pginaEjemplo:
Sintaxis bsica
Ttulo
// Cdigo HTML + PHP. . .
Tipos de datosPHP soporta 8 tipos de datos primitivos:Tipos escalares: boolean, integer, double, stringTipos compuestos: array, objectTipos especiales: resource, NULL El tipo de una variable no se suele especificar. Se decide en tiempo de ejecucin en funcin del contexto y puede variarFunciones de inters:La funcin 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()La funcin var_dump() muestra el tipo y el valor de una variable. Es especialmente interesante con los arrays
Tipos de datosTipo integer (nmeros enteros)27, -5, 0Tipo double (nmeros reales)1.234, -5.33Tipo boolean (lgico)Valores: true, false (insensibles a las maysculas)El 0 y la cadena vaca tienen valor false
Tipos de datosTipo string:Las cadenas se encierran entre comillas simples o dobles:simples: admite los caracteres de escape \ (comilla simple) y \\ (barra). Las variables NO se expandendobles: admite ms caracteres de escape, como \n, \r, \t, \\, \$, \. Los nombres de variables S se expandenEjemplos:$a = 9;print a vale $a\n;// muestra a vale $a\nprint a vale $a\n; // muestra a vale 9 y avanza una lneaprint ; // muestra print ; // muestra Acceso a un carcter de la cadena:La forma es $inicial = $nombre{0};
VariablesLas variables siempre van precedidas de un $El nombre es sensible a las maysculasComienzan por letra o subrayado, seguido de letras, nmeros o subrayadoVariables predefinidas:$GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES,$_ENV, $_REQUEST, $_SESSIONmbito: globales al fichero (excepto funciones) o locales a una funcinEjemplo:$valor = 5;print El valor es: . $valor . \n;print El valor es: $valor\n; // ojo: comillas dobles
Resultado:El valor es: 5
VariablesVariables variablesSe pueden crear nombres de variables dinmicamenteLa variable variable toma su nombre del valor de otra variable previamente declaradaEjemplo:$a = "hola";$$a = "mundo";
print "$a $hola\n";print "$a ${$a}";
Resultado:hola mundohola mundo
Variables
Ejemplo de variables variables: pgina internacionalizada (1)
Variables
Ejemplo de variables variables: pgina internacionalizada (2)
ConstantesDefinicin de constantes:define (CONSTANTE, hola);print CONSTANTE;No llevan $ delanteSlo se pueden definir constantes de los tipos escalares (boolean, integer, double, string)
Expresiones y operadoresOperadores aritmticos: +, -, *, /, %, ++, --Operador de asignacin: = 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 comparacin: ==, !=, , = y otrosOperador de control de error: @. Antepuesto a una expresin, evita cualquier mensaje de error que pueda ser generado por la expresinOperadores lgicos: and (&&), or (||), !, xor and/&& y or/|| tienen diferentes prioridadesOperadores de cadena: concatenacin: . (punto) asignacin con concatenacin: .=
Expresiones y operadoresPrecedencia de operadores (de mayor a menor):
++, --*, /, %+,-===, !=&&||andor
Estructuras de controlEstructuras selectivas:if-elseswitchEstructuras repetitivas:whileforforeach
Estructuras de controlEstructura selectiva if-else
Mismo comportamiento que en C Las sentencias compuestas se encierran entre llaveselseif puede ir todo juntoif (condicin) sentenciaif (condicin1) sentencia 1else if (condicin2) sentencia 2...else if (condicin n) sentencia nelse sentencia n+1if (condicin) sentencia 1else sentencia 2
Estructuras de controlEjemplo de estructura selectiva if-else:
Estructuras de controlEstructura selectiva switchswitch (expresin){case valor_1:sentencia 1break;case valor_2:sentencia 2break;case valor_n:sentencia n break;defaultsentencia n+1}Mismo comportamiento que en C, slo que la expresin del case puede ser integer, float o string
Estructuras de controlEjemplo de estructura selectiva switch:
switch ($extension){ case ("PDF"): $tipo = "Documento Adobe PDF"; break; case ("TXT"): $tipo = "Documento de texto"; break; case ("HTML"): case ("HTM"): $tipo = "Documento HTML"; break;default: $tipo = "Archivo " . $extension;}print ($tipo);
Estructuras de controlEstructura repetitiva while while (condicin)sentencia
Mismo comportamiento que en Ccondicinsentenciaciertafalsa
Estructuras de controlEjemplo de estructura repetitiva while:
Estructuras de controlEstructura repetitiva for
for (inicializacin; condicin; incremento)sentencia
Mismo comportamiento que en Ccondicinsentenciaciertafalsaincrementoinicializacin
Estructuras de controlEjemplo de estructura repetitiva for:
Estructuras de controlEjercicio 2: programa que calcula una tabla de multiplicarIlustra cmo manejar variables y cmo usar bucles
FuncionesEjemplo:function suma ($x, $y){ $s = $x + $y; return $s;}
$a=1;$b=2;$c=suma ($a, $b);print $c;
FuncionesPor defecto los parmetros se pasan por valorPaso por referencia:function incrementa (&$a){ $a = $a + 1;}
$a=1;incrementa ($a);print $a; // Muestra un 2
FuncionesArgumentos por defectofunction muestranombre ($titulo = "Sr."){ print "Estimado $titulo:\n";}muestranombre ();muestranombre ("Prof.");Salida:Estimado Sr.:Estimado Prof.:
FuncionesLos argumentos con valores por defecto deben ser siempre los ltimos:function muestranombre ($nombre, $titulo= "Sr."){ print "Estimado $titulo $nombre:\n";}muestranombre (Fernndez);muestranombre (Fernndez, "Prof.");Salida:Estimado Sr. Fernndez:Estimado Prof. Fernndez:
TablasSintaxis:array ([clave =>] valor, ...)La clave es una cadena o un entero no negativo. El valor puede ser de cualquier tipo vlido en PHP, incluyendo otro arrayEjemplos:$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
TablasLa estructura de control foreach permite iterar sobre arraysSintaxis:foreach (expresin_array as $valor) sentenciaforeach (expresin_array as $clave => $valor) sentenciaEjemplos:foreach ($color as $valor)print Valor: $valor\n;foreach ($color as $clave => $valor)print Clave: $clave; Valor: $valor\n;Salida:Valor: 101Valor: 51Valor: 255Clave: rojo; Valor: 101Clave: verde; Valor: 51Clave: azul; Valor: 255
Bibliotecas de funcionesExisten muchas bibliotecas de funciones en PHPAlgunos ejemplos:Funciones de manipulacin de cadenasFunciones de fecha y horaFunciones de arraysFunciones de ficherosFunciones matemticasFunciones de bases de datosFunciones de redAlgunas bibliotecas requieren la instalacin de componentes adicionalesTodas las funciones de biblioteca estn comentadas en la documentacin de PHP
Bibliotecas de funcionesFunciones de manipulacin de cadenasexplode()Divide una cadena en subcadenasarray explode (string separator, string string [, int limit]) rtrim(), ltrim(), trim()Eliminan caracteres a la derecha, a la izquierda o por ambos lados de una cadenastring rtrim ( string str [, string charlist]) strstr()Busca la primera ocurrencia de una subcadenastrtolower() / strtoupper()Convierte una cadena a minscula / maysculastrcmp() / strcasecmp()Compara dos cadenas con/sin distincin de maysculasstrlen()Calcula la longitud de una cadena
Bibliotecas de funcionesFunciones de fecha y horadate()Formatea una fecha segn un formato dadoEjemplo:$fecha = date ("j/n/Y H:i");print ("$fecha");Resultado:26/9/2005 17:36 strtotime()Convierte una fecha en un timestamp de UNIXEjemplo:$fecha = date ("j/n/Y", strtotime(5 april 2001"));print ("$fecha");Resultado:5/4/2001
Bibliotecas de funcionesFunciones de arraysarray_count_values()Calcula la frecuencia de cada uno de los elementos de un arrayarray_search()Busca un elemento en un arraycount()Cuenta los elementos de un arraysort(), rsort()Ordena y reindexa un array (r=decreciente)ksort(), krsort()Ordena por claves un array (r=decreciente)
Bibliotecas de funcionesEjercicio 3: programa que muestra la fecha actualIlustra cmo usar comentarios, tablas y funciones (propias y de biblioteca). Tambin cmo usar el manual de PHP
Top Related