PHP Avanzado: PHP, XML y Servicios Web

  • 1. Bloque III: PHP y XML1. Qu es XML?2. Algunos ejemplos de XML3. SimpleXML4. Servicios Web5. Conectndose con un canal RSS6. Mostrando mis fotos de Flickr7. Listando mis ltimos tweetsDesarrollo web avanzado con PHP5

2. Bloque III: PHP y XML1. Qu es XML?2. Algunos ejemplos de XML3. SimpleXML4. Servicios Web5. Conectndose con un canal RSS6. Mostrando mis fotos de Flickr7. Listando mis ltimos tweetsDesarrollo web avanzado con PHP5 3. 3.1. Qu es XML? Hola MundoDesarrollo web avanzado con PHP 5 Bloque III: PHP y XML 4. 3.1. Qu es XML? eXtensible Markup LanguageXML es un lenguaje de etiquetas, como HTMLXML est diseado para transportar informacin, no para mostrarlaXML no tiene etiquetas predefinidas. T puedes definir las tuyasXML est diseado para ser auto-explicativoXML es una recomendacin del W3CXML no hace nadaDesarrollo web avanzado con PHP 5 Bloque III: PHP y XML 5. 3.1. Qu es XML? Definicin del tipo de documento Tiene que ser la primera lnea del documentoDesarrollo web avanzado con PHP 5 Bloque III: PHP y XML 6. 3.1. Qu es XML? Elementos XMLXML es case-sensitive Hola MundoEs distinto deHola MundoDesarrollo web avanzado con PHP 5 Bloque III: PHP y XML 7. 3.1. Qu es XML? Elementos XMLEl nombre de un elemento 1. Puede contener letras, nmeros, puntos, dos puntos y acentos 2. Slo pueden empezar por letras 3. No pueden empezar con las letras XML (o xml, o Xml, ) 4. No pueden contener espacios en blancoDesarrollo web avanzado con PHP 5Bloque III: PHP y XML 8. 3.1. Qu es XML? Elementos XMLTodas las etiquetas tienes que estar debidamente cerradas Hola Mundo O si tienen ningn contenidoDesarrollo web avanzado con PHP 5 Bloque III: PHP y XML 9. 3.1. Qu es XML? Elementos XMLCualquier XML tiene uno y solo un elemento raz Avatar AvatarDistrito 9 Distrito 9Desarrollo web avanzado con PHP 5Bloque III: PHP y XML 10. 3.1. Qu es XML? Elementos XMLLos elementos deben estar correctamente anidadosJames CameronDesarrollo web avanzado con PHP 5Bloque III: PHP y XML 11. 3.1. Qu es XML? Atributos XMLNormalmente son utilizados para almacenar metainformacin del elementoHola MundoPodemos usar tanto comillas simples como doblesHello WorldDesarrollo web avanzado con PHP 5 Bloque III: PHP y XML 12. 3.1. Qu es XML? Espacios en blanco Se entiende por espacio en blanco saltos de carros, sangrados, tabulaciones y por supuesto, un espacio Son obligatorios para separar el nombre de un atributo del nombre del elemento Son aconsejados para permitir una mejor lectura del documento (tabulaciones para indicar anidaciones)Desarrollo web avanzado con PHP 5Bloque III: PHP y XML 13. 3.1. Qu es XML? Espacios en blanco< mensaje lang= es >Hola MundoDesarrollo web avanzado con PHP 5Bloque III: PHP y XML 14. 3.1. Qu es XML? Espacios en blancoJames CameronDesarrollo web avanzado con PHP 5Bloque III: PHP y XML 15. 3.1. Qu es XML? XML vlidos y bien formados XML bien formados cumplen con las reglas del W3Chttp://www.w3schools.com/XML/xml_validator.asp XML vlidos cumplen con las especificaciones de un DTD o SchemaDesarrollo web avanzado con PHP 5Bloque III: PHP y XML 16. 3.1. Qu es XML? El ecosistema XMLDTD Namespaces Document Type Definition Schema XMLXForms XPathXSLTDesarrollo web avanzado con PHP 5Bloque III: PHP y XML 17. Bloque III: PHP y XML1. Qu es XML?2. Algunos ejemplos de XML3. SimpleXML4. Servicios Web5. Conectndose con un canal RSS6. Mostrando mis fotos de Flickr7. Listando mis ltimos tweetsDesarrollo web avanzado con PHP5 18. 3.2. Algunos ejemplos de XMLUn ejemplo sobre pelculasAlmacenar en un XML informacin sobre las pelculas nominadas alos scar 2010Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML 19. 3.2. Algunos ejemplos de XMLUn ejemplo sobre pelculasAvatarJamesCameronDesarrollo web avanzado con PHP 5 Bloque III: PHP y XML 20. 3.2. Algunos ejemplos de XMLUn ejemplo sobre pelculas Comprobamos que nuestro XML valida correctamente http://www.w3schools.com/xml/xml_validator.aspDesarrollo web avanzado con PHP 5 Bloque III: PHP y XML 21. 3.2. Algunos ejemplos de XMLUn ejemplo sobre recetasAlmacenar en un XML informacin sobre recetas de cocina. Cadareceta de cocina tendr: Nombre de la receta Ingredientes Tiempo Nivel (bsico, medio o avanzado) Preparacin Puntuacin Recomendacin: http://www.canalcocina.es/Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML 22. Bloque III: PHP y XML1. Qu es XML?2. Algunos ejemplos de XML3. SimpleXML4. Servicios Web5. Conectndose con un canal RSS6. Mostrando mis fotos de Flickr7. Listando mis ltimos tweetsDesarrollo web avanzado con PHP5 23. 3.3. SimpleXML – InstalacinDesarrollo web avanzado con PHP 5 Bloque III: PHP y XML 24. 3.3. SimpleXML Un ejemplo sobre pelculas 1. Cargar el XML (http://dl.dropbox.com/u/8522637/peliculas.xml) 2. Acceder a todas las pelculas 3. Seleccionar una pelcula 4. Seleccionar los actores de una pelcula 5. Aadir un actor nuevo a una pelcula 6. Guardar el XML generado en el archivoDesarrollo web avanzado con PHP 5Bloque III: PHP y XML 25. 3.3. SimpleXML El objeto SimpleXMLElement representa cualquier nodo de un archivo XML, por tanto el propio XML ser un SimpleXMLElement $xml= newSimpleXMLElement(peliculas.xml,null,true); O bien $xml=simplexml_load_file(peliculas.xml);Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML 26. 3.3. SimpleXML Accedemos a los hijos como si fueran atributos del objeto $peliculas=$xml>pelicula Podemos seleccionar un hijo como si fuera un elemento de un array $pelicula=$xml>pelicula[0];Desarrollo web avanzado con PHP 5Bloque III: PHP y XML 27. 3.3. SimpleXML Podemos utilizar foreach para recorrer todo un rbolforeach($xml>peliculaas$pelicula){ echo$pelicula>titulo;}Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML 28. 3.3. SimpleXML Permite una interfaz fluido, esto es, cualquier mtodo o atributo devuelve un elemento SimpleXML sobre el que podemos volver a operar $xml>pelicula[0] >direccion[0] >director;Desarrollo web avanzado con PHP 5Bloque III: PHP y XML 29. 3.3. SimpleXML Tambin podemos aadir elementos a cualquier nodo$direccion=$xml>pelicula[0]>direccion[0];$direccion>addChild(director,JaviLpez);Desarrollo web avanzado con PHP 5Bloque III: PHP y XML 30. 3.3. SimpleXML Y hasta podemos guardarlo en un archivo$xml>asXML(peliculas.bk.xml);Desarrollo web avanzado con PHP 5Bloque III: PHP y XML 31. 3.3. SimpleXML Toda la documentacin necesaria sobre SimpleXMLhttp://php.net/manual/es/book.simplexml.phpDesarrollo web avanzado con PHP 5Bloque III: PHP y XML 32. 3.3. SimpleXML Un ejemplo sobre recetas de cocina 1. Cargar el XML 2. Acceder a todas las recetas 3. Seleccionar una receta y ver su preparacin 4. Seleccionar una receta y ver sus ingredientes 5. Aadir una nueva receta 6. Guardar el XML generado un archivoDesarrollo web avanzado con PHP 5 Bloque III: PHP y XML 33. Bloque III: PHP y XML1. Qu es XML?2. Algunos ejemplos de XML3. SimpleXML4. Servicios Web5. Conectndose con un canal RSS6. Mostrando mis fotos de Flickr7. Listando mis ltimos tweetsDesarrollo web avanzado con PHP5 34. 3.4. Servicios Web Segn la wikipediaUnservicioweb(eningls,Webservice)esunconjuntodeprotocolosyestndaresquesirvenparaintercambiardatosentreaplicaciones.Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML 35. 3.4. Servicios Web Utilizando XML como servicio web VentajasInconvenientes 1. Independiente de la plataforma 1. Grado de desarrollo 2. Basado en un estndar fcil de 2. Rendimiento bajo aprender y entender 3. Poco seguro (?) 3. Basado en HTTPDesarrollo web avanzado con PHP 5 Bloque III: PHP y XML 36. 3.4. Servicios Web Quin esta apostando por servicios web basados en XMLDesarrollo web avanzado con PHP 5Bloque III: PHP y XML 37. Bloque III: PHP y XML1. Qu es XML?2. Algunos ejemplos de XML3. SimpleXML4. Servicios Web5. Conectndose con un canal RSS6. Mostrando mis fotos de Flickr7. Listando mis ltimos tweetsDesarrollo web avanzado con PHP5 38. 3.5. Conctandose con un canal RSSRSS Really Simple SindacationPermite la sindicacin decontenidos? La sindicacin web (redifusin web) reenvo o reemisin de contenidos desde una fuente original (sitio web de origen) hasta otro sitio web de destino (receptor) que a su vez se convierte en emisor puesto que pone a disposicin de sus usuarios los contenidos a los que en un principio slo podan tener acceso los usuarios del sitio web de origen.Desarrollo web avanzado con PHP 5 Bloque III: PHP y XML 39. 3.5. Conctandose con un canal RSS Google ReaderDesarrollo web avanzado con PHP 5Bloque III: PHP y XML 40. 3.5. Conctandose con un canal RSSUn ejemplo: consumiendo un canal RSSDesarrollo web avanzado con PHP 5 Bloque III: PHP y XML 41. Bloque III: PHP y XML1. Qu es XML?2. Algunos ejemplos de XML3. SimpleXML4. Servicios Web5. Conectndose con un canal RSS6. Mostrando mis fotos de Flickr7. Listando mis ltimos tweetsDesarrollo web avanzado con PHP5 42. Bloque III: PHP y XML1. Qu es XML?2. Algunos ejemplos de XML3. SimpleXML4. Servicios Web5. Conectndose con un canal RSS6. Mostrando mis fotos de Flickr7. Listando mis ltimos tweetsDesarrollo web avanzado con PHP5

Publicaciones Similares