introduccion a php
-
Upload
jose-antonio-zafra-herruzo -
Category
Documents
-
view
223 -
download
0
description
Transcript of introduccion a php
![Page 1: introduccion a php](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/1.jpg)
PHP
![Page 2: introduccion a php](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/2.jpg)
Lenguaje PHP básico
IntroducciónSintaxis básicaTipos de datosVariablesConstantesExpresiones y operadoresEstructuras de controlFuncionesTablasBibliotecas de funciones
![Page 3: introduccion a php](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/3.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/4.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/5.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/6.jpg)
Esquema de funcionamiento
![Page 7: introduccion a php](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/7.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/8.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/9.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/10.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/11.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/12.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/13.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/14.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/15.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/16.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/17.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/18.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/19.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/20.jpg)
Expresiones y operadores
Precedencia de operadores (de mayor a menor):
++, --*, /, %+,-<, <=, >, >===, !=&&||
![Page 21: introduccion a php](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/21.jpg)
Estructuras de control
if-elsewhiledo .. whileforforeachswitch
![Page 22: introduccion a php](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/22.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/23.jpg)
Estructuras de control
whilewhile (expresión)
sentencia
Mismo comportamiento que en C
![Page 24: introduccion a php](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/24.jpg)
Estructuras de control
forfor (expresión1; expresión2; expresión3)
sentencia
Mismo comportamiento que en C
![Page 25: introduccion a php](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/25.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/26.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/27.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/28.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/29.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/30.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/31.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/32.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/33.jpg)
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](https://reader030.fdocuments.co/reader030/viewer/2022020322/568c337c1a28ab02358ce514/html5/thumbnails/34.jpg)
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