• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Especialista Web J9  Php
 

Especialista Web J9 Php

on

  • 2,428 views

Jornada sobre PHP

Jornada sobre PHP

Statistics

Views

Total Views
2,428
Views on SlideShare
2,427
Embed Views
1

Actions

Likes
3
Downloads
167
Comments
0

1 Embed 1

http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Especialista Web J9  Php Especialista Web J9 Php Presentation Transcript

    • Especialista en desarrollo de aplicaciones web JORNADA 9 ramos valcárcel, david [email_address]
    • PHP
      • PHP Hipertext Preprocessor
        • Inicialmente en 1994: Personal Home Page
      • Lenguaje Open Source
      • Basado en C y C++
      • Multiplataforma (GNU/Linux, Windows, Mac)  Independiente del Sistema Operativo  Portable
      • Muy bien documentado http://www.php.net/
    • PHP
      • Usado en mas de 20 millones de dominios
    • PHP
      • Es un lenguaje de scripts que se ejecuta del lado del servidor
        • Los scripts PHP están incrustados en los documentos html
        • El servidor los interpreta (procesa) y ejecuta antes de enviar las páginas al cliente
        • El cliente no ve el código PHP, sólo el código que produce
      • Estructura similar a ASP, JSP, CGI…
      • Muy estandarizado en el uso con Apache y MySQL
    • PHP
    • PHP
        • Primer ejemplo con php
        • <html>
        • <head>
        • <title>PHP – Hello World</title>
        • </head>
        • <body>
        • <?php
        • echo &quot;Hello World!&quot;;
        • ?>
        • </body>
        • </html>
    • PHP
      • Los script php se colocan entre
        • <?php //apertura
        • ?> //cierre
      • La mayoría de las instrucciones finalizan con “;”
      • Sentencia básica
        • echo “texto a mostrar”;
      • Comentarios con
        • // Una sola línea
        • /* Varias líneas */
    • PHP
      • Las variables se identifican con “$”
      • Los nombres de las variables no pueden comenzar con números ni con caracteres especiales
        • //correcto //incorrecto
        • $mi_variable $_mivariable
        • $2variable
      • La variable toma el tipo de dato del valor que se le asigne
      • Tipos de datos: int, float, double, string, array, object
    • PHP
      • Ejemplo
      • <?php
      • $un_bool = TRUE; // un valor booleano
      • $un_str = &quot;foo&quot;; // una cadena
      • $un_int = 12; // un entero
      • echo gettype($un_bool); // imprime: boolean
      • // Si este valor es un entero, incrementarlo en cuatro
      • if (is_int($un_int)) $un_int += 4;
      • ?>
    • PHP
      • Es posible concatenar variables (strings) con el operador “.”
        • <?php
        • $mensaje1 = 'Hola';
        • $mensaje2 = 'mundo!';
        • echo $mensaje1.' '.$mensaje2;
        • ?>
      • Con la función “unset()” podemos quitar el valor de una variable
        • $var = &quot;pepe&quot;;
        • unset($var); // Ahora no tiene valor (NULL)
      • La función “isset()” nos indica si una variable está inicializada
        • if (isset($var)){
        • echo 'Tiene valor';
        • }
    • PHP
      • Condicionales: IF
      • if (<condición>) {código si se cumple la condición} else {código si no se cumple la condición}
      • Ejemplo
        • <?php $i = 6; if ($i < 10)
        • { echo &quot;menor de 10&quot;;
        • }else { echo &quot;mayor de 10&quot;; }
        • ?>
    • PHP
      • <HTML> <HEAD> <TITLE>Detector de Lengua</TITLE> </HEAD> <BODY> <? //definimos variables $espanol=&quot;Hola&quot;; $ingles=&quot;Hello&quot;; //Leemos del navegador su lengua oficial $idioma=substr($HTTP_ACCEPT_LANGUAGE,0,2); //Formulamos las posibilidades que se pueden dar if ($idioma == &quot;es“) {
      • echo &quot;$espanol&quot;;
      • } else echo &quot;$ingles“; ?>
      • </BODY>
      • </HTML>
    • PHP
      • Condicionales: SWITCH
      • switch (<expresión>) { case <valor 1>: //código para valor 1 break; case <valor 2>: //código para valor 2 break; ...
      • case <valor n>: //código para valor n break;
      • default: // código por defecto break; }
    • PHP
      • Ejemplo
        • <?php
        • $variable=2;
        • switch($variable) {
        • case 1: echo '$Variable es igual a 1.';
        • break;
        • case 2: echo '$Variable es igual a 2.';
        • break;
        • case 3: echo '$Variable es igual a 3.';
        • break;
        • default: echo '$Variable no igual ' . 'a 1, 2 o 3.'; }
        • ?>
    • PHP
      • Bucles: While
        • Se ejecuta al código mientras se cumpla una condición
          • while (<condicion>) {
            • //Código a ejecutar
          • }
        • Ejemplo
          • $a = 1;
          • while ( $a < 10) {
          • echo &quot;<p>El número actual es $a</p>&quot;;
          • $a++;
          • }
    • PHP
      • Bucles: Do While
        • Se ejecuta al código mientras se cumpla una condición
        • Al menos se ejecuta una vez
          • do {
          • //Código a ejecutar
          • } while (<condicion>)
        • Ejemplo
          • $a = 0;
          • do
          • {
          • $a++;
          • echo ('<p>El número es '.$a.'</p>');
          • }
          • while ( $a < 10);
    • PHP
      • Bucles: For
        • Se ejecuta al código mientras se cumpla una condición
          • for (inicialización; condición; actualización) { //código
          • }
        • Ejemplo
          • for ($i=1;$i<=100;$i++) { echo “$i <br>”; }
    • PHP
      • Bucles: Foreach
        • Se ejecuta un determinado código por cada uno de los elementos de una colección
        • Por ejemplo, si tenemos un array con n elementos:
        • <? $vector = array(    &quot;uno&quot; => 1,    &quot;dos&quot; => 2,    &quot;tres&quot; => 3,    &quot;diecisiete&quot; => 17 ); foreach($vector as $indice => $valor) {    echo &quot;$vector[$indice] => $valor.n&quot;; } ?> 
    • PHP
      • Funciones importantes
        • include (“archivo”)
          • Llama al archivo para incrustar el código en la página. Puede ejecutarse o no al estar dentro de un condicional
        • require(“archivo”)
          • Llama al archivo para incrustar el código en la página. Este código se ejecuta siempre
          • A partir de la versión PHP 4.0.2 y posteriores esto cambia y ambas construcciones se comportan exactamente de la misma manera, con la única diferencia:
            • include solo da una advertencia, y sigue ejecutando el código
            • require produce un error y interrumpe la ejecución.
        • header(“Location: paginaweb”)
          • Redirecciona dinámicamente las página web
          • Se utiliza al comienzo de un fichero HTML
        • exit
          • Finaliza la ejecución del código
    • PHP
      • Ejemplo include
        • vars.php
          • <?php
          • $color = 'verde';
          • $fruta = 'manzana';
          • ?>
        • test.php
          • <?php
          • echo &quot;Una $fruta $color&quot;; // Una
          • include 'vars.php';
          • echo &quot;Una $fruta $color&quot;; // Una manzana verde
          • ?>
    • PHP
      • Matrices/Arrays
        • Es un tipo de dato, que contiene un conjunto de valores referenciados con un índice.
        • $sentido[1]=&quot;ver&quot;; $sentido[2]=&quot;tocar&quot;; $sentido[3]=&quot;oir&quot;; $sentido[4]=&quot;gustar&quot;; $sentido[5]=&quot;oler&quot;;
        • Acceso a una posición
        • echo ($sentido[1]); //devuelve “ver”
        • Creación de una matriz
        • $sentidos= array(‘ver‘,‘tocar‘,‘oír’);
        • $sentidos= array(1=>‘ver‘,2=>‘tocar‘,3=>‘oír‘);
    • PHP
      • Matrices/Arrays
        • Podemos crear elementos de una matriz sobre la marcha:
        • $matriz[7] = &quot;Texto de la posición 7&quot;;
        • // si no especificamos un índice, se inserta en la siguiente posición
        • $matriz[] = &quot;Esto iría en la posición 8&quot;;
        • Podemos eliminar elementos, o la matriz entera con &quot;unset()“
        • $matriz = array(3 => 'Oso', 5 => 'Lagarto');
        • unset($matriz[3]); // No hay nada en la posición 3
        • unset($matriz); // No hay nada en la matriz
    • PHP
      • Funciones
        • function <nombre_función> ($param1, $param2, ...)
        • {
        • //código función
        • return <resultado>;
        • }
        • Ejemplos
          • function negrita($texto) {
          • return '<b>'.$texto.'</b>';
          • }
          • echo 'Quiero '.negrita(‘destacar').' lo '.negrita('importante');
          • function sumar($num1,$num2){   $ suma=$ num1 +$num2 echo $num1.&quot;+&quot;.$num2.&quot;=&quot;.$suma; }
          • sumar(5,6)
    • PHP
      • Existen muchas bibliotecas de funciones en PHP
      • Algunos ejemplos:
        • Funciones de manipulación de cadenas
        • Funciones de fecha y hora
        • Funciones de arrays
        • Funciones de ficheros
        • Funciones matemáticas
        • Funciones de bases de datos
        • Funciones de red
      • Algunas bibliotecas requieren la instalación de componentes adicionales
      • http://es2.php.net/manual/es/
    • PHP
      • Manejo de cadenas
        • chop(cadena): Devuelve la cadena de caracteres con los caracteres de blanco y nueva línea eliminados
        • trim(cadena): Elimina los blancos que aparecen a izquierda y derecha de la cadena de caracteres
        • str_repeat(caracter,numero_veces): Repite un caracter el numero de veces indicado
        • strtolower(cadena): Pasa toda la cadena a letras minúsculas
        • strtoupper(cadena): Pasa toda la cadena a letras mayúsculas
        • ucfirst(cadena): Pasa a mayúscula el primer caracter de una cadena
        • str_replace(subcadena1,subcadena2,cadena): Sustituye una palabra por otra dentro de una cadena
        • strtr(cadena,originales,traducidos): Traduce ciertos caracteres .Ejemplo: $persona=strt($persona,&quot;áéíóú&quot;,&quot;a,e,i,o,u&quot;); de esta forma cambiaría todas las vocales con acento por vocales sin acento.
        • substr_replace(cadena,nueva,comienzo,longitud): Sustituye una porción del contenido de una cadena
    • PHP
      • <?php
      • echo strlen(&quot;12345&quot;),&quot;<br>&quot;;
      • // devuelve 5
      • $palabras=split(&quot; &quot;,&quot;Esto es una prueba&quot;);
      • for($i=0;$palabras[$i];$i++)
      • echo $palabras[$i],&quot;<br>&quot;;
      • // devuelve cada palabra en una fila
      • echo substr(&quot;Devuelve una subcadena de otra&quot;,9,3),&quot;<br><br>&quot;;
      • // devuelve “ una ”
      • echo strpos(&quot;Busca la palabra en la frase&quot;, &quot;palabra“);
      • // devuelve 9
      • echo str_replace(&quot;verde&quot;,&quot;rojo&quot;,&quot;verde que te quiero verde .&quot;);
      • // devuelve “ rojo que te quiero rojo ”;
      • ?>
    • PHP
      • Manejo de fecha y hora
        • date: permite dar formato a una hora/fecha
        • getdate:  devuelve un array con los elementos
          • “ seconds” = segundos “minutes” = minutos “hours” = horas “mday” = día del mes “wday” = día del mes en número “mon” = número del mes “year” = año “yday” = número de día del año, por ejemplo “125” “weekday” = día de la semana en letra (ingles), por ejemplo “Monday” “month” = mes en letra (ingles), por ejemplo “November”
        • time: Devuelve la fecha actual en formato timestamp de UNIX. Este formato es un número (int) que indica el número de segundos transcurridos desde las 00:00:00 del día 1 de enero de 1970 GMT.
    • PHP
      • <?php
      • $hora = time();
      • echo ($hora);
      • echo &quot;<br>&quot;;
      • // muestra “1241110230 &quot;
      • $hora = getdate(time());
      • echo( $hora[&quot;mday&quot;] . &quot;/&quot; . $hora[&quot;mon&quot;] . &quot;/&quot; . $hora[&quot;year&quot;] );
      • echo &quot;<br>&quot;;
      • //muestra “30/4/2009”
      • echo($hora[&quot;hours&quot;] .&quot;:”. $hora[&quot;minutes&quot;] .&quot;:”. $hora[&quot;seconds&quot;] );
      • //muestra 18:50:30
      • ?>
    • PHP
      • Manejo ficheros
        • fopen ( archivo, modo): abre un fichero o URL (lectura/escritura/añadir…)
          • $fp = fopen(’info.txt’, ’r’);
        • fclose ( int): Cierra un fichero abierto
          • fclose ($fp);
        • copy(‘archivo.txt',‘directorio'): Copiar un archivo
        • if(copy('datos.txt',‘copia/datos.bak' ))
        • {
        • echo &quot;el fichero se copio con éxito.<br>&quot;;
        • } else echo &quot;el fichero no se copio .<br>&quot;;
        • Unlink: Borra un fichero
        • unlink('datos.txt');
        • mkdir: crea un directorio
        • rmdir: borra un directorio
        • is_dir: dice si es un directorio
        • is_file: dice si es un fichero
    • PHP
      • Manejo ficheros
        • <?
        • //Abrimos el fichero en modo de escritura
        • $DescriptorFichero = fopen(&quot;datos.txt&quot;,&quot;w&quot;);
        • //Escribimos la primera línea dentro de él
        • $string1 = &quot;Esta es la primera línea de texto&quot;;
        • fputs($DescriptorFichero,$string1);
        • //Escribimos la segunda línea de texto
        • $string2 = &quot;Y esta es la segunda línea de texto&quot;;
        • fputs($DescriptorFichero,$string2);
        • //Cerramos el fichero
        • fclose($DescriptorFichero);
        • ?>
    • PHP
      • Excepciones
        • Permiten el control de errores
        • Ejemplo
          • function division($dividendo, $divisor) {
          • if($divisor==0)
          • throw new Exception(‘Division entre cero!',0);
          • return $dividendo/$divisor;
          • }
          • try {
          • echo division(15,0);
          • } catch(Exception $e) {
          • echo “se ha producido un error: “. $e->getMessage();
          • }
    • PHP
      • Recuperar valores de formularios
        • Un formulario puede enviarse con el método &quot;get&quot; o &quot;post&quot;
        • Se usa $_GET y $_POST
        • Ejemplo: recuperar variables pasadas por URL
          • <html>
          • <body>
          • <?php
          • foreach ($_GET as $nombre => $param)
          • {
          • ?>
          • <p><?=$nombre.': '.$param?></p>
          • <?
          • }
          • ?>
          • </body>
          • </html>
    • PHP
      • Ejemplo
        • Formulario
        • <html> <head>    <title>Ejemplo de PHP</title> </head> <body> <FORM ACTION=&quot;procesa2.phtml&quot; METHOD=&quot; POST/GET &quot;> Introduzca su nombre:<INPUT TYPE=&quot;text&quot; NAME=&quot;nombre&quot;><BR> Introduzca sus apellidos:<INPUT TYPE=&quot;text&quot; NAME=&quot;apellidos&quot;><BR> <INPUT TYPE=&quot;submit&quot; VALUE=&quot;Enviar&quot;> </FORM> </body>
        • </html>
        • Recuperar datos
        • <html> <head>    <title>Ejemplo de PHP</title> </head> <body> El nombre por GET: <?php echo $_GET['nombre'],&quot; &quot;,$_GET['apellidos'] ?><br> El nombre por POST: <?php echo $_POST['nombre'],&quot; &quot;,$_POST['apellidos'] ?> </body>
        • </html>
    • PHP
      • Sesiones
        • Las sesiones básicamente son variables globales que nos permiten almacenar datos que necesiten volver a ser usados en otros accesos a la pagina
        • Usadas entre otras cosas en la validación de usuarios
          • 1º.- Se crea el formulario de validación (login.php)
          • 2º.- Se comprueba la validez del usuario (autenticacion.php)
          • 3º.- Se crea la sesión y se da acceso al usuario o se deniega el mismo
    • PHP
    • PHP
      • Sesiones (autenticacion.php)
        • <?php
        • //vemos si el usuario y contraseña son válidos if ($_POST[&quot;usuario&quot;]==&quot;usuario&quot; && $_POST[&quot;contrasena&quot;]==&quot;123&quot;){ //usuario y contraseña válidos
        • session_start(); $_SESSION[&quot;autenticado&quot;]= &quot;SI&quot;;
        • // mayor seguridad almacenando ssesion_id()
        • $_SESSION[“id_misesion&quot;]= session_id();
        • header (&quot;Location: aplicacion.php&quot;);
        • }else {
        • //si no existe se va a login.php header(&quot;Location: login.php?errorusuario=si&quot;); }
        • ?>
    • PHP
      • Sesiones (seguridad.php)
        • <?php
        • //Inicio la sesión session_start();
        • //COMPRUEBA QUE EL USUARIO ESTA AUTENTICADO if ($_SESSION[&quot;autenticado&quot;] != &quot;SI&quot;) {
        • //si no existe, va a la página de autenticacion header(&quot;Location: login.php&quot;);
        • //salimos de este script exit(); }
        • ?>
        • Este código lo incluimos en todas las páginas que requieran validación
    • PHP
      • Conexión a BBDD
        • mysql_connect($hostname,$user,$password)
        • //cierre de conexión
        • mysql_close($conexion);
        • Ejemplo
        • <?php $servidor=&quot;localhost&quot;; $login=“usuario&quot;: $password=“contraseña&quot;;
        • $db=“basededatos” $conexion=mysql_connect($servidor,$login,$password);
        • mysql_select_db($db, $conexion);
        • mysql_close($conexion);
        • ?>
    • PHP
      • Sentencia BBDD
        • $result = mysql_query($query);
        • Ejemplo
        • $query=&quot;SELECT * FROM tabla&quot;;
        • $result=mysql_query($query,$conexion);
        • $numrows=mysql_num_rows($result);
        • while ($datos=mysql_fetch_array($result)){ echo $datos[&quot;Nombre&quot;], &quot; - &quot;, $datos[&quot;Direccion&quot;] ,&quot;<BR>&quot; ; } echo &quot;Numero de registros $numrows<br>&quot;;