Your SlideShare is downloading. ×
  • Like
1 intro php
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

1 intro php

  • 148 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
148
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Tecnologías Web de Cliente Introducción a PHP Departamento de Ingeniería de Sistemas Telemáticos http://moodle.dit.upm.es
  • 2. Índice PHP. Historia Para qué vale PHP Entorno El lenguaje 2
  • 3. PHP Historia 1994 – Rasmus Lerdof – un conjunto de ficheros programados en Perl como CGIs para hacer su CV (Personal Home Page Tools) ● 1997 – PHP 3.0 (PHP: Hypertext Preprocessor) parecido al actual ● 2000 – PHP 4.0, “Motor Zend”, mejoras en modularidad y eficiencia ● 2004 – PHP 5.0, Zend Engine 2.0, mejora en orientación a objetos ● 3
  • 4. ¿Cómo se usa PHP? ● Usos – Lenguaje de scripting del lado servidor – Lenguaje de scripting en línea de órdenes – Aplicaciones gráficas del lado cliente (PHP-GTK) ● Lenguaje de scripting – Interpretado • Existen compiladores para optimizarlo – Poco tipado – Otros: Javascript, Python, Ruby, Shell, … 4
  • 5. PHP como script ● En linux, instalar php5-cli ● Ejecutar 5
  • 6. Scripting en el lado servidor Diseñado para ser ejecutado en un servidor web (como un módulo) ● Normalmente nos permite generar html 'de forma dinámica' ● Para poder ejecutarlo, necesitamos que el servidor web sea capaz de ejecutar php ● 6
  • 7. Entorno LAMP LAMP = Linux + Apache Web Server + MySQL/MariaDB + PHP/Perl/Python ● En Mac: MAMP, Windows: WAMP, en cualquier sistema operativo X: XAMP. ● En linux, puedes instalarlo con el paquete tasksel, lanzarlo y seleccionar LAMP server. Luego conéctate en un navegador a http://localhost:80 y verás el mensaje 'It works' ● – El mensaje que ves está en /var/www/index.html 7
  • 8. Entorno LAMP 8
  • 9. PHP en el lado servidor ● Editamos Desplegamos (copiamos) en /var/www y damos permisos de lectura (chmod 644) y vemos en navegador ● 9
  • 10. ¿Es popular/útil PHP? 78% de webs lo utilizan como lenguaje del lado servidor (frente a Java Enterprise Edition, JS como Node.js, .NET, Ruby, …) ● Es el software abierto más empleado en la empresa ● Muy popular en gestión de contenidos (Drupal, Joomla, Wordpress, MediaWiki, …) ● ● Usado por Facebook o Wikipedia 10
  • 11. Arquitectura en web 11
  • 12. HTML dinámico Servidor Web con extensión PHP 1. Pide página PHP Navegador 3. Entrega página HTML <doctype HTML> <html> ... </html> Intérprete PHP <doctype HTML> <html> …. <? php … <? php ?> … </html> ?> 2. Procesa página PHP y genera HTML 12
  • 13. El lenguaje PHP ● Los scripts son el código entre <?php y ?> Normalmente incluidos como parte de un documento HTML ● ● Las sentencias PHP terminan en “;” Las variables comienzan con $ y no se declaran ni se declara su tipo, pueden tener cualquier tipo. Ej. $usuario ● ● Comentarios: //, #, /* */ 13
  • 14. Ejemplo (I) En la request HTML mando el valor del campo input 14
  • 15. Ejemplo (II) 15
  • 16. Y si no pongo nada y doy al botón... 16
  • 17. Ejemplo 2 (I) 17
  • 18. Ejemplo 2 – Condicional empotrado en HTML (II) 18
  • 19. Estructuras de Control ● Condicional – Simple: if (cond) {...} elseif {…} else {...} – Múltiple: switch(cond) { case <valor1>: … break; case <valor2>: … break; … default: ... } ● Bucles – For : for ($i = 0; $i < 25; $i++) {...} – While: while (cond) {...} –- do {...} while (cond); – Foreach 19
  • 20. Sintaxis alternativa ● if () {} → if () : endif ● switch () {} → switch() : endswitch ● while(){} → while() : endwhile ● for (){} → for () : endfor 20
  • 21. Tipos de datos en PHP Escalares: Boolean, Integer, Float (double), String ● ● Compuestos: Array, Object ● Especiales: – NULL – Variable sin valor; la variable existe pero no contiene nada – Recurso – Almacena una referencia a una función, base de datos, fichero u otro recurso fuera de PHP 21
  • 22. Tipos Escalares ● Enteros: – Decimal: 1995, +33, -333 – Octal: 0534, -023 – Hexadecimal: 0xDAD1 – Binario bx001100 ● Reales: 3.15, -7.1, 0.314E1, 1.0E-2 (= 0.01) ● Strings: “hola”, 'hola' ● Booleanos: true, false 22
  • 23. Arrays Podemos acceder con índice o índice asociativo (clave) ● ● Ej. $a[0] = “Pepe”; o $a['nombre'] = “Pepe”; Para borrar un elemento, usamos unset($a[0]) o el array unset($a) ● ● Constructor: array() – $personas = array(“Pepe”, “Juan”, “Ana”); – $inventores = array('bombilla' => “Edison”, 'autogiro' => “de la Cierva”, '' => “”); Podemos usar {} en vez de [], $a{0} 23
  • 24. Funciones con arrays (I) ● Añadir al final: array_push() ● Tamaño: count() http://www.w3schools.com/php/php_ref_array.asp 24
  • 25. Funciones con arrays (II) ● Ordenar: sort() (a-z),rsort() (reverse, z-a) ● Imprimir un array con separador: join() separador 25
  • 26. Recorrer Array: foreach Si lo usara como script, en vez de <p></p>, pondría, p.ej. echo “$inventorn” (n newline) 26
  • 27. Funciones con Strings (I) ● Concatenar: . ● strlen(“pepe”) → longitud (4) strpos(cadena, carácter) – False si no está, si no, posición donde comienza ● ● substring(cadena, pos) 27
  • 28. Funciones con Strings (II) trim(), rtrim(), ltrim() → quitar espacios en blanco ● strtoupper(), strtolower() → mayúsculas / minúsculas ● 28
  • 29. Funciones aritméticas (I) ● Constante PI: M_PI ● Redondear a entero: round(), ceil(), floor() //4 //5 ● Aleatorio: rand() 29
  • 30. Funciones (I) ● Lo definimos como function nombre(){} – Podemos devolver algo con return ● Lo invocamos con nombre(argumentos); 30
  • 31. Funciones (II) Podemos indicar valores por defecto en la declaración ● 31
  • 32. Ej. función 32
  • 33. Organizar Aplicación Web ● Directorio Raíz (Root) → / – Ponemos recursos HTML – Ponemos subdirectorios de HTML por sección, etc. – Organizamos ficheros: img/, pdf/ ● Directorio CSS → css/ ● Directorio JavaScript → js/ ● Directorio PHP → scripts/ 33
  • 34. Conclusiones El lenguaje PHP es bastante sencillo de aprender una vez que sabes otro lenguaje ● Se interpreta. Muchos fallos se ven en tiempo de ejecución. ● Hace falta mirar APIs para aprenderlo bien según nos hace falta. ● 34
  • 35. Referencias Programming PHP, O'Reilly, 2013, ● – http://proquest.safaribooksonline.com/book/ programming/php/9781449361068 Head first PHP & MySQL, O'Reilly, 2008, ● – http://proquest.safaribooksonline.com/book/ databases/mysql/9780596157739 35