web con php y mysql
DESCRIPTION
Desarrollo de sitios web con PHP y MySQLTRANSCRIPT
-
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