1 intro php
Upcoming SlideShare
Loading in...5
×
 

1 intro php

on

  • 329 views

 

Statistics

Views

Total Views
329
Views on SlideShare
329
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

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

1 intro php 1 intro php Presentation Transcript

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