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
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
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
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
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
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
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