1 intro php

399 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
399
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

1 intro php

  1. 1. Tecnologías Web de Cliente Introducción a PHP Departamento de Ingeniería de Sistemas Telemáticos http://moodle.dit.upm.es
  2. 2. Índice PHP. Historia Para qué vale PHP Entorno El lenguaje 2
  3. 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. 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. 5. PHP como script ● En linux, instalar php5-cli ● Ejecutar 5
  6. 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. 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. 8. Entorno LAMP 8
  9. 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. 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. 11. Arquitectura en web 11
  12. 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. 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. 14. Ejemplo (I) En la request HTML mando el valor del campo input 14
  15. 15. Ejemplo (II) 15
  16. 16. Y si no pongo nada y doy al botón... 16
  17. 17. Ejemplo 2 (I) 17
  18. 18. Ejemplo 2 – Condicional empotrado en HTML (II) 18
  19. 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. 20. Sintaxis alternativa ● if () {} → if () : endif ● switch () {} → switch() : endswitch ● while(){} → while() : endwhile ● for (){} → for () : endfor 20
  21. 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. 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. 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. 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. 25. Funciones con arrays (II) ● Ordenar: sort() (a-z),rsort() (reverse, z-a) ● Imprimir un array con separador: join() separador 25
  26. 26. Recorrer Array: foreach Si lo usara como script, en vez de <p></p>, pondría, p.ej. echo “$inventorn” (n newline) 26
  27. 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. 28. Funciones con Strings (II) trim(), rtrim(), ltrim() → quitar espacios en blanco ● strtoupper(), strtolower() → mayúsculas / minúsculas ● 28
  29. 29. Funciones aritméticas (I) ● Constante PI: M_PI ● Redondear a entero: round(), ceil(), floor() //4 //5 ● Aleatorio: rand() 29
  30. 30. Funciones (I) ● Lo definimos como function nombre(){} – Podemos devolver algo con return ● Lo invocamos con nombre(argumentos); 30
  31. 31. Funciones (II) Podemos indicar valores por defecto en la declaración ● 31
  32. 32. Ej. función 32
  33. 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. 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. 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

×