El documento describe conceptos relacionados con la programación orientada a objetos en PHP y el acceso a bases de datos. Explica la definición de clases, atributos, métodos y objetos. También cubre temas como internacionalización, localización, herencia y diagramas UML.
Notas de la sesión de Nils Pharo “XML and information discovery - the semantic web approach”
Facultat Biblioteconomia i Documentació - Universitat de Barcelona 6 mayo 2011
El documento resume los conceptos fundamentales de Internet: 1) cómo funciona la transmisión de información a través de Internet, 2) qué es la World Wide Web y cómo se accede a ella a través de navegadores, 3) qué son los dominios de Internet y ejemplos comunes como .es y .edu, 4) que HTML es el lenguaje de marcado usado para crear páginas web, y 5) que los buscadores como Google y Yahoo indexan páginas web para encontrar información relacionada a palabras clave.
El documento proporciona información sobre Tim Berners-Lee y el desarrollo de la World Wide Web. En 1989, Berners-Lee creó la World Wide Web mientras trabajaba en el CERN. Desarrolló los primeros protocolos y herramientas de la web como HTTP, HTML y el navegador. En 1994, fundó el W3C para estandarizar y mejorar la web. El W3C ha trabajado desde entonces para desarrollar especificaciones y tecnologías web abiertas.
Este documento presenta un resumen del curso básico de Fox-Pro. Explica que Fox-Pro es un administrador de bases de datos relacional e interpretado que puede usarse de forma interactiva o programada. Detalla los requisitos del sistema, los tipos de instrucciones, los tipos de datos como numéricos, caracteres, fechas y lógicos, y describe los archivos de comando, base de datos, índice y texto. Finalmente, brinda información sobre el número máximo de registros y caracteres por registro que puede contener cada archivo.
El documento proporciona definiciones y explicaciones sobre diversos conceptos relacionados con Internet y la World Wide Web. Explica que Internet es una red descentralizada de redes interconectadas que utilizan protocolos TCP/IP, y que surgió en 1969 con la conexión entre universidades estadounidenses. También define conceptos como protocolo, página web, correo electrónico, navegador web, hiperenlaces, dominio y otros.
Este documento presenta un proyecto para diseñar una red para una fundación. Se describe la distribución física del edificio con diferentes salas y espacios. Se enumeran los requisitos técnicos para cada espacio. Los objetivos del proyecto son proponer una conectividad física y lógica para la red, estimar las necesidades de conectividad exterior y de mantenimiento, y documentar el diseño completo. Se especifican los criterios de evaluación y las instrucciones para la entrega del proyecto final.
Este documento resume la historia y tecnología detrás de Ethernet de 100 Mb/s (Fast Ethernet). Explica que surgió en 1995 para competir con Token Ring y fue un éxito rápido e inesperado debido a su sencillez y facilidad de transición. Detalla las variantes tecnológicas clave como 100BASE-TX, 100BASE-T4 y 100BASE-T2, las cuales usan codificaciones como 4B5B, 8B6T y PAM5 para transmitir a 100 Mb/s a través de cableado UTP categoría 3
Este documento presenta un proyecto para diseñar una red para un complejo de ocio y negocios llamado Ociburgo. Describe la distribución del complejo, los requisitos de conectividad para las diferentes áreas, y los objetivos del proyecto como proponer modelos de conectividad física y lógica de red, estimar las necesidades de conectividad exterior y de mantenimiento, y desarrollar la documentación y presentación del proyecto. El proyecto deberá entregarse antes del 2 de junio.
Notas de la sesión de Nils Pharo “XML and information discovery - the semantic web approach”
Facultat Biblioteconomia i Documentació - Universitat de Barcelona 6 mayo 2011
El documento resume los conceptos fundamentales de Internet: 1) cómo funciona la transmisión de información a través de Internet, 2) qué es la World Wide Web y cómo se accede a ella a través de navegadores, 3) qué son los dominios de Internet y ejemplos comunes como .es y .edu, 4) que HTML es el lenguaje de marcado usado para crear páginas web, y 5) que los buscadores como Google y Yahoo indexan páginas web para encontrar información relacionada a palabras clave.
El documento proporciona información sobre Tim Berners-Lee y el desarrollo de la World Wide Web. En 1989, Berners-Lee creó la World Wide Web mientras trabajaba en el CERN. Desarrolló los primeros protocolos y herramientas de la web como HTTP, HTML y el navegador. En 1994, fundó el W3C para estandarizar y mejorar la web. El W3C ha trabajado desde entonces para desarrollar especificaciones y tecnologías web abiertas.
Este documento presenta un resumen del curso básico de Fox-Pro. Explica que Fox-Pro es un administrador de bases de datos relacional e interpretado que puede usarse de forma interactiva o programada. Detalla los requisitos del sistema, los tipos de instrucciones, los tipos de datos como numéricos, caracteres, fechas y lógicos, y describe los archivos de comando, base de datos, índice y texto. Finalmente, brinda información sobre el número máximo de registros y caracteres por registro que puede contener cada archivo.
El documento proporciona definiciones y explicaciones sobre diversos conceptos relacionados con Internet y la World Wide Web. Explica que Internet es una red descentralizada de redes interconectadas que utilizan protocolos TCP/IP, y que surgió en 1969 con la conexión entre universidades estadounidenses. También define conceptos como protocolo, página web, correo electrónico, navegador web, hiperenlaces, dominio y otros.
Este documento presenta un proyecto para diseñar una red para una fundación. Se describe la distribución física del edificio con diferentes salas y espacios. Se enumeran los requisitos técnicos para cada espacio. Los objetivos del proyecto son proponer una conectividad física y lógica para la red, estimar las necesidades de conectividad exterior y de mantenimiento, y documentar el diseño completo. Se especifican los criterios de evaluación y las instrucciones para la entrega del proyecto final.
Este documento resume la historia y tecnología detrás de Ethernet de 100 Mb/s (Fast Ethernet). Explica que surgió en 1995 para competir con Token Ring y fue un éxito rápido e inesperado debido a su sencillez y facilidad de transición. Detalla las variantes tecnológicas clave como 100BASE-TX, 100BASE-T4 y 100BASE-T2, las cuales usan codificaciones como 4B5B, 8B6T y PAM5 para transmitir a 100 Mb/s a través de cableado UTP categoría 3
Este documento presenta un proyecto para diseñar una red para un complejo de ocio y negocios llamado Ociburgo. Describe la distribución del complejo, los requisitos de conectividad para las diferentes áreas, y los objetivos del proyecto como proponer modelos de conectividad física y lógica de red, estimar las necesidades de conectividad exterior y de mantenimiento, y desarrollar la documentación y presentación del proyecto. El proyecto deberá entregarse antes del 2 de junio.
Este documento describe cómo los sistemas de bases de datos relacionales como SQL Server y MySQL pueden almacenar y consultar datos XML. Explica dos enfoques para integrar XML y bases de datos: almacenar datos XML en tablas relacionales o almacenar documentos XML de forma nativa. Luego, detalla cómo SQL Server y MySQL permiten consultas SQL que devuelven resultados en formato XML, así como almacenar y consultar datos XML de forma nativa usando XQuery.
Este documento describe las hojas de estilo CSS (Cascading Style Sheets). Explica la estructura y sintaxis de CSS, incluyendo selectores, propiedades de formato como colores, fuentes y dimensiones, y el modelo de cajas. También cubre temas como posicionamiento, tablas, historia y aplicación de CSS.
Este documento proporciona una introducción a los lenguajes de marcas para la web, incluyendo HTML y XHTML. Explica la estructura y composición de la web, así como los lenguajes y estándares relacionados. También describe brevemente la historia y evolución de Internet y la web.
Este documento trata sobre herramientas auxiliares de programación como la documentación de código, el formato Javadoc y Doxygen para generar documentación, y el uso de Make para el mantenimiento de proyectos de software. En particular, describe cómo Javadoc y Doxygen permiten generar documentación a partir de comentarios en el código, y cómo Make automatiza el proceso de compilación mediante la especificación de tareas y dependencias.
Este documento presenta un proyecto para diseñar una red local ("BurgoRED") que conecte varias instalaciones municipales en un área rural. El proyecto propone conectar un ayuntamiento, un centro social y una escuela, y requiere soluciones para conectividad interna y externa, así como propuestas de documentación, costes e infraestructura de red. El documento establece los objetivos, criterios de evaluación y fechas de entrega para el proyecto.
Este documento describe la historia y tecnología de Ethernet. Comenzó en la década de 1970 en Xerox PARC a 2.94 Mbps. En la década de 1980 se estableció como estándar IEEE 802.3. Ha evolucionado a velocidades de 100 Mbps, 1 Gbps, y 10 Gbps. Existen varios tipos físicos como 10BASE5 (cable coaxial grueso), 10BASE2 (cable coaxial fino), y 10BASE-T (par trenzado). Ethernet usa direcciones MAC únicas de 6 bytes para cada interfaz de red y
Este documento proporciona información sobre los formatos RSS y Atom para la sindicación de contenidos. Explica que RSS y Atom son estándares basados en XML que permiten compartir actualizaciones de contenido de forma automática entre sitios web. También describe los elementos principales de RSS como canal y elementos, y los tipos de documento en Atom: feed y entry. Finalmente, incluye ejemplos de código RSS y Atom.
Este documento presenta información sobre transformaciones de documentos XML y hojas de estilo. Introduce los conceptos de CSS, XSLT, XPath y XSL-FO, y cómo estos lenguajes complementarios permiten transformar y dar formato a documentos XML para diferentes usos como visualización, impresión o transferencia entre aplicaciones. Incluye ejemplos de cómo aplicar CSS y transformaciones XSLT a documentos XML.
Este documento introduce los lenguajes de marcas y XML. Explica brevemente la historia de los lenguajes de marcas desde SGML hasta HTML y XML. Describe la estructura básica de los documentos XML, incluyendo elementos, atributos y validación.
Este documento describe las plataformas web con fines educativos. Explica la evolución de Internet y la web, incluyendo lenguajes como HTML y CSS. También cubre el uso de la web en el aula, como un sistema de acceso a información y recursos educativos. Finalmente, presenta algunas plataformas educativas populares como Moodle y Claroline, y propone actividades prácticas como editar artículos de Wikipedia y crear un curso en Moodle.
Este documento presenta una introducción al software de gráficos vectoriales Inkscape. Explica formatos como SVG y herramientas como trayectos, capas, propiedades, opciones avanzadas y digitalización. Propone cinco proyectos prácticos como dibujar una figura, trabajar con color y transparencia, calcar un mapa, vectorizar una imagen y crear logotipos.
El documento presenta información sobre esquemas y vocabularios en XML. Explica las DTD (Document Type Definition) como un modelo estructural para definir elementos, atributos, contenido y jerarquía de elementos en un documento XML. También cubre conceptos como entidades, espacios de nombres y esquemas XML para definir vocabularios. El documento incluye varios ejemplos prácticos de cómo aplicar estas definiciones y validar documentos XML.
LM-UT8: Sistemas de Gestión empresarialDavid Martin
Este documento describe los sistemas de gestión empresarial y los lenguajes de marcas utilizados. Explica que las empresas necesitan gestionar grandes cantidades de información para sus actividades y por razones legales. También describe los componentes clave de un sistema de gestión como el hardware, software y personas involucradas. Finalmente, analiza opciones de software como los paquetes ERP, CRM y otras herramientas de gestión tanto comerciales como de código abierto.
El documento presenta un taller sobre el uso de gráficos en el aula. El taller cubre diferentes formatos gráficos como bitmap y vectoriales e introduce la herramienta de gráficos vectoriales libre Inkscape. El taller también discute la importancia de los gráficos para el aprendizaje y ofrece consejos sobre el uso y formatos adecuados de imágenes en documentos y presentaciones.
Este documento presenta una introducción a Internet y la web. Explica conceptos clave como la evolución de Internet desde las redes militares hasta la web 2.0 participativa de hoy. También describe tecnologías fundamentales como HTML, CSS, PHP y bases de datos, y cómo se pueden usar plataformas educativas en línea como Moodle.
Este documento resume los conceptos clave de Internet. Explica que Internet es una red mundial de computadoras que permite compartir información a través de protocolos como IP. El WWW es un sistema de documentos hipertextuales accesibles a través de un navegador web. Los dominios designan grupos de dispositivos en Internet mediante nombres fáciles de recordar en lugar de direcciones IP. HTML es el lenguaje usado para crear páginas web, mientras que los buscadores como Google permiten encontrar información en Internet a través de palabras clave.
1. El documento describe las habilidades y experiencia de un ingeniero de sistemas especializado en Python y tecnologías libres como GNU/Linux y software libre. 2. Se detallan varias herramientas y temas relacionados con Python como tipos de datos, funciones, módulos, clases y excepciones. 3. El documento también menciona algunos usos comunes de Python como desarrollo web, ciencia de datos, robótica e integración con otros lenguajes.
Este documento presenta una guía de curso sobre PHP y SQL. Introduce PHP como un lenguaje de código abierto y sencillo para crear páginas web dinámicas e interactivas mediante el procesamiento de datos en el servidor. Explica conceptos básicos como variables, salida de texto, comentarios y el uso de funciones como print y printf. También destaca la importancia de las bases de datos relacionales y el lenguaje SQL para almacenar y recuperar información de forma flexible en sitios web con PHP.
Este documento presenta una guía de curso sobre PHP y SQL. Introduce PHP como un lenguaje de código abierto para crear páginas web dinámicas e interactivas mediante el procesamiento del lado del servidor. Explica conceptos básicos como variables, arrays, estructuras de control y salida de texto. También cubre el uso de bases de datos relacionales y el lenguaje SQL para almacenar y recuperar datos de manera flexible a requerimiento del programa.
El documento presenta una introducción teórica al desarrollo de APIs utilizando la arquitectura REST. Explica conceptos clave como recursos, identificadores, representaciones, operadores y códigos de respuesta HTTP. También recomienda estructurar el API siguiendo patrones MVC, realizar pruebas unitarias, utilizar caché y autenticación, y considerar frameworks existentes.
PHP es un lenguaje de programación interpretado diseñado para crear páginas web dinámicas. Se puede usar para interpretar código del lado del servidor o crear aplicaciones con interfaz gráfica. PHP se puede insertar entre etiquetas dentro de código HTML para que el servidor lo interprete antes de enviar la página al navegador. Existen diferentes conjuntos de etiquetas para delimitar el código PHP.
PHP es un lenguaje de programación interpretado diseñado para crear páginas web dinámicas. Permite insertar código PHP dentro de HTML mediante etiquetas como <?php ?> o <script>. PHP se puede usar para acceder y manipular bases de datos como PostgreSQL y MySQL mediante sentencias SQL como SELECT, UPDATE, DELETE. WAMPServer es un entorno de desarrollo local que incluye Apache, PHP y MySQL para probar sitios web dinámicos con PHP.
Este documento describe cómo los sistemas de bases de datos relacionales como SQL Server y MySQL pueden almacenar y consultar datos XML. Explica dos enfoques para integrar XML y bases de datos: almacenar datos XML en tablas relacionales o almacenar documentos XML de forma nativa. Luego, detalla cómo SQL Server y MySQL permiten consultas SQL que devuelven resultados en formato XML, así como almacenar y consultar datos XML de forma nativa usando XQuery.
Este documento describe las hojas de estilo CSS (Cascading Style Sheets). Explica la estructura y sintaxis de CSS, incluyendo selectores, propiedades de formato como colores, fuentes y dimensiones, y el modelo de cajas. También cubre temas como posicionamiento, tablas, historia y aplicación de CSS.
Este documento proporciona una introducción a los lenguajes de marcas para la web, incluyendo HTML y XHTML. Explica la estructura y composición de la web, así como los lenguajes y estándares relacionados. También describe brevemente la historia y evolución de Internet y la web.
Este documento trata sobre herramientas auxiliares de programación como la documentación de código, el formato Javadoc y Doxygen para generar documentación, y el uso de Make para el mantenimiento de proyectos de software. En particular, describe cómo Javadoc y Doxygen permiten generar documentación a partir de comentarios en el código, y cómo Make automatiza el proceso de compilación mediante la especificación de tareas y dependencias.
Este documento presenta un proyecto para diseñar una red local ("BurgoRED") que conecte varias instalaciones municipales en un área rural. El proyecto propone conectar un ayuntamiento, un centro social y una escuela, y requiere soluciones para conectividad interna y externa, así como propuestas de documentación, costes e infraestructura de red. El documento establece los objetivos, criterios de evaluación y fechas de entrega para el proyecto.
Este documento describe la historia y tecnología de Ethernet. Comenzó en la década de 1970 en Xerox PARC a 2.94 Mbps. En la década de 1980 se estableció como estándar IEEE 802.3. Ha evolucionado a velocidades de 100 Mbps, 1 Gbps, y 10 Gbps. Existen varios tipos físicos como 10BASE5 (cable coaxial grueso), 10BASE2 (cable coaxial fino), y 10BASE-T (par trenzado). Ethernet usa direcciones MAC únicas de 6 bytes para cada interfaz de red y
Este documento proporciona información sobre los formatos RSS y Atom para la sindicación de contenidos. Explica que RSS y Atom son estándares basados en XML que permiten compartir actualizaciones de contenido de forma automática entre sitios web. También describe los elementos principales de RSS como canal y elementos, y los tipos de documento en Atom: feed y entry. Finalmente, incluye ejemplos de código RSS y Atom.
Este documento presenta información sobre transformaciones de documentos XML y hojas de estilo. Introduce los conceptos de CSS, XSLT, XPath y XSL-FO, y cómo estos lenguajes complementarios permiten transformar y dar formato a documentos XML para diferentes usos como visualización, impresión o transferencia entre aplicaciones. Incluye ejemplos de cómo aplicar CSS y transformaciones XSLT a documentos XML.
Este documento introduce los lenguajes de marcas y XML. Explica brevemente la historia de los lenguajes de marcas desde SGML hasta HTML y XML. Describe la estructura básica de los documentos XML, incluyendo elementos, atributos y validación.
Este documento describe las plataformas web con fines educativos. Explica la evolución de Internet y la web, incluyendo lenguajes como HTML y CSS. También cubre el uso de la web en el aula, como un sistema de acceso a información y recursos educativos. Finalmente, presenta algunas plataformas educativas populares como Moodle y Claroline, y propone actividades prácticas como editar artículos de Wikipedia y crear un curso en Moodle.
Este documento presenta una introducción al software de gráficos vectoriales Inkscape. Explica formatos como SVG y herramientas como trayectos, capas, propiedades, opciones avanzadas y digitalización. Propone cinco proyectos prácticos como dibujar una figura, trabajar con color y transparencia, calcar un mapa, vectorizar una imagen y crear logotipos.
El documento presenta información sobre esquemas y vocabularios en XML. Explica las DTD (Document Type Definition) como un modelo estructural para definir elementos, atributos, contenido y jerarquía de elementos en un documento XML. También cubre conceptos como entidades, espacios de nombres y esquemas XML para definir vocabularios. El documento incluye varios ejemplos prácticos de cómo aplicar estas definiciones y validar documentos XML.
LM-UT8: Sistemas de Gestión empresarialDavid Martin
Este documento describe los sistemas de gestión empresarial y los lenguajes de marcas utilizados. Explica que las empresas necesitan gestionar grandes cantidades de información para sus actividades y por razones legales. También describe los componentes clave de un sistema de gestión como el hardware, software y personas involucradas. Finalmente, analiza opciones de software como los paquetes ERP, CRM y otras herramientas de gestión tanto comerciales como de código abierto.
El documento presenta un taller sobre el uso de gráficos en el aula. El taller cubre diferentes formatos gráficos como bitmap y vectoriales e introduce la herramienta de gráficos vectoriales libre Inkscape. El taller también discute la importancia de los gráficos para el aprendizaje y ofrece consejos sobre el uso y formatos adecuados de imágenes en documentos y presentaciones.
Este documento presenta una introducción a Internet y la web. Explica conceptos clave como la evolución de Internet desde las redes militares hasta la web 2.0 participativa de hoy. También describe tecnologías fundamentales como HTML, CSS, PHP y bases de datos, y cómo se pueden usar plataformas educativas en línea como Moodle.
Este documento resume los conceptos clave de Internet. Explica que Internet es una red mundial de computadoras que permite compartir información a través de protocolos como IP. El WWW es un sistema de documentos hipertextuales accesibles a través de un navegador web. Los dominios designan grupos de dispositivos en Internet mediante nombres fáciles de recordar en lugar de direcciones IP. HTML es el lenguaje usado para crear páginas web, mientras que los buscadores como Google permiten encontrar información en Internet a través de palabras clave.
1. El documento describe las habilidades y experiencia de un ingeniero de sistemas especializado en Python y tecnologías libres como GNU/Linux y software libre. 2. Se detallan varias herramientas y temas relacionados con Python como tipos de datos, funciones, módulos, clases y excepciones. 3. El documento también menciona algunos usos comunes de Python como desarrollo web, ciencia de datos, robótica e integración con otros lenguajes.
Este documento presenta una guía de curso sobre PHP y SQL. Introduce PHP como un lenguaje de código abierto y sencillo para crear páginas web dinámicas e interactivas mediante el procesamiento de datos en el servidor. Explica conceptos básicos como variables, salida de texto, comentarios y el uso de funciones como print y printf. También destaca la importancia de las bases de datos relacionales y el lenguaje SQL para almacenar y recuperar información de forma flexible en sitios web con PHP.
Este documento presenta una guía de curso sobre PHP y SQL. Introduce PHP como un lenguaje de código abierto para crear páginas web dinámicas e interactivas mediante el procesamiento del lado del servidor. Explica conceptos básicos como variables, arrays, estructuras de control y salida de texto. También cubre el uso de bases de datos relacionales y el lenguaje SQL para almacenar y recuperar datos de manera flexible a requerimiento del programa.
El documento presenta una introducción teórica al desarrollo de APIs utilizando la arquitectura REST. Explica conceptos clave como recursos, identificadores, representaciones, operadores y códigos de respuesta HTTP. También recomienda estructurar el API siguiendo patrones MVC, realizar pruebas unitarias, utilizar caché y autenticación, y considerar frameworks existentes.
PHP es un lenguaje de programación interpretado diseñado para crear páginas web dinámicas. Se puede usar para interpretar código del lado del servidor o crear aplicaciones con interfaz gráfica. PHP se puede insertar entre etiquetas dentro de código HTML para que el servidor lo interprete antes de enviar la página al navegador. Existen diferentes conjuntos de etiquetas para delimitar el código PHP.
PHP es un lenguaje de programación interpretado diseñado para crear páginas web dinámicas. Permite insertar código PHP dentro de HTML mediante etiquetas como <?php ?> o <script>. PHP se puede usar para acceder y manipular bases de datos como PostgreSQL y MySQL mediante sentencias SQL como SELECT, UPDATE, DELETE. WAMPServer es un entorno de desarrollo local que incluye Apache, PHP y MySQL para probar sitios web dinámicos con PHP.
PHP es un lenguaje de programación interpretado diseñado para crear páginas web dinámicas. Se puede usar para interpretar código del lado del servidor o crear aplicaciones con interfaz gráfica. PHP se puede insertar entre etiquetas dentro de código HTML para que el servidor lo interprete antes de enviar la página al navegador. Existen diferentes conjuntos de etiquetas para delimitar el código PHP.
PHP es un lenguaje de programación interpretado diseñado para crear páginas web dinámicas. Se puede usar para interpretar código del lado del servidor o crear aplicaciones con interfaz gráfica. PHP se puede insertar entre etiquetas dentro de código HTML para que el servidor lo interprete antes de enviar la página al navegador. Existen diferentes gestores de bases de datos como PostgreSQL y MySQL que se pueden usar con PHP a través de SQL.
PHP es un lenguaje de programación interpretado diseñado para crear páginas web dinámicas. Se puede usar para interpretar código del lado del servidor o crear aplicaciones con interfaz gráfica. PHP se puede insertar entre etiquetas dentro de código HTML. Los gestores de base de datos compatibles con PHP incluyen PostgreSQL y MySQL, los cuales permiten realizar operaciones como consultas, actualizaciones y eliminaciones de datos.
PHP es un lenguaje de programación interpretado diseñado para crear páginas web dinámicas. Se puede usar para interpretar código del lado del servidor o crear aplicaciones con interfaz gráfica. PHP se puede insertar entre etiquetas dentro de código HTML para que el servidor lo interprete antes de enviar la página al navegador. Existen diferentes gestores de bases de datos como PostgreSQL y MySQL que se pueden usar con PHP a través de SQL.
PHP es un lenguaje de programación interpretado diseñado para crear páginas web dinámicas. Se puede usar para interpretar código del lado del servidor o crear aplicaciones con interfaz gráfica. PHP se puede embeber dentro de HTML usando etiquetas como <?php ?> y se ejecuta en el servidor antes de enviar la página al navegador. Algunos gestores de bases de datos que se pueden usar con PHP incluyen PostgreSQL y MySQL, los cuales permiten realizar operaciones como consultas, actualizaciones y eliminaciones de datos.
Oracle E-Business Suite R12 es una suite de aplicaciones de software integrada que provee soluciones completas para las necesidades de negocios de una organización. Está compuesta por múltiples aplicaciones para áreas funcionales como finanzas, recursos humanos, cadena de suministro y fabricación. Utiliza una arquitectura de tres capas y es multiplataforma, funcionando en sistemas operativos como Oracle y Linux. Incluye interfaces HTML y Forms para la interacción con usuarios.
La web semántica es un conjunto de actividades desarrolladas por el World Wide Web Consortium para publicar datos que puedan ser procesados por aplicaciones a través de la adición de metadatos semánticos y ontológicos. Esto mejoraría la interoperabilidad entre sistemas a través del uso de agentes inteligentes que buscan información sin intervención humana. Actualmente existen proyectos piloto que comienzan a implementar esta visión a través del uso de ontologías y estándares como RDF.
Este documento proporciona información sobre cómo acceder y manipular bases de datos desde aplicaciones web desarrolladas en PHP. Explica la arquitectura típica de una aplicación web con base de datos, los diferentes tipos de bases de datos, y cómo PHP puede conectarse a bases de datos a través de ODBC o APIs específicas. Además, introduce conceptos básicos de SQL como la instrucción SELECT para recuperar registros de una base de datos.
Este documento presenta conceptos básicos sobre Internet. Explica que Internet es una red de redes internacional que permite la comunicación entre computadoras usando protocolos como TCP/IP. También describe elementos clave como navegadores, HTML, WWW, enlaces hipertextuales y URLs para localizar recursos en la web.
Este documento describe Koha, un sistema de gestión de bibliotecas de código abierto desarrollado por la Universidad Nacional de La Plata. Explica que Koha fue implementado inicialmente en la biblioteca de la Facultad de Ciencias Económicas y desde entonces ha sido ampliamente modificado y mejorado para satisfacer los requisitos de la UNLP.
Este documento resume los principales protocolos de internet como IP, TCP y HTTP. Explica que IP organiza los datos en paquetes para su transmisión a través de redes, y que normalmente se usa junto con TCP. TCP fragmenta los datos y los envía a través de rutas diferentes para luego recombinarlos en el destino. Cada dispositivo en internet tiene una dirección IP y un nombre de dominio asociado para su identificación. Finalmente, introduce que HTTP es el protocolo usado para la transferencia de páginas web y otros formatos de manera hipertextual entre serv
MongoDB es un sistema de base de datos NoSQL orientado a documentos desarrollado con código abierto. Almacena datos en formato JSON con un esquema dinámico, lo que facilita la integración de datos en aplicaciones. MongoDB fue lanzado en 2009 y su nombre proviene de "humongous", que significa enorme.
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...SemanticWebBuilder
En el INFOTEC se ha privilegiado la Web Semántica como plataforma de desarrollo por más de 10 años, lo cual ha tenido como resultado la construcción de varios productos Open Source, como lo es el SemanticWebBuilder el cual está siendo utilizado en gran parte de los principales portales del gobierno mexicano. En esta presentación deseamos compartir nuestras experiencias y lecciones aprendidas en el uso de las técnicas y tecnologías asociadas a la Web Semántica en entornos productivos, buscando tener un número mayor de casos de éxito en esta tendencia de desarrollo.
Similar a IW-UTXX: Programación web en PHP con bases de datos (20)
Web Semántica de la teoría a la práctica: lecciones aprendidas en ambientes p...
IW-UTXX: Programación web en PHP con bases de datos
1. Implantación de
Aplicaciones Web
UT 4: Programación web en PHP
con acceso a bases de datos.
CFGS «Administración de Sistemas
Informáticos en Red»
CIFP Juan de Colonia (Burgos)
David H. Martín Alonso
– Curso 2012/2013 –
2. Proyecto ARCE
David H. Martín Alonso
IES José Luis Sampedro
CIFP Juan de Colonia
Tres Cantos (Madrid)
Burgos
José Luis Rodríguez Rodríguez Víctor Cabezas Pozo
IES Jacarandá IES Conselleria
Brenes (Sevilla) Valencia
Red profesional colaborativa del ciclo
«Administración de Sistemas Informáticos en Red»
3. PHP Y BASES DE DATOS.
Contenidos
Internacionalización, localización
Programación orientada a objetos
Documentación
Acceso a bases de datos con PDO
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
4. PHP Y BASES DE DATOS
Internacionalización, localización
Red profesional colaborativa del ciclo
«Administración de Sistemas Informáticos en Red»
5. PHP Y BASES DE DATOS.
Programación orientada a objetos
ASCII
CP 850
Win-1252
ISO-8859-1
Unicode
UTF-8
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
6. PHP Y BASES DE DATOS.
i18n – UTF8
■ i18n + L10n Internacionalización (i18n) y localización (L10n)
□ POO
□ Documentación i + 18 letras + n L + 10 letras + n
□ Bases de Datos • Soporte de idiomas
– Codificaciones de caracteres diversas
– Traducción de interfaces de usuario
6/52
• Requisito para las aplicaciones web
– Por dimensión internacional de la WWW
– Por variedad de codificaciones en los sistemas operativos
• Necesidad de coherencia entre aplicaciones
– Navegador – PHP – Base de datos
• Propuesta: uso generalizado de UTF-8
– Contenido HTTP
– Codificación HTML
– Texto recogido en formularios
– Almacenamiento de variables en PHP
– Funciones alternativas de tratamiento de cadenas en PHP
– Definición de bases de datos
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
7. PHP Y BASES DE DATOS.
¿Cómo usar PHP con UTF8?
■ i18n + L10n • Cadenas de texto en codificaciones multibyte: mbstring
□ POO – Las funciones originales son para codificaciones de 8 bits
□ Documentación
□ Bases de Datos
– Objetivo de mejora en PHP6
• PHP:
– La codificación interna es ISO-8859-1. La cambiamos:
mb_internal_encoding( 'UTF-8' );
7/52 – Usamos las funciones alternativas de «mbstring»
Ej.: strlen () → mb_strlen()
• HTTP
header( 'Content-Type: text/html; charset=UTF-8' );
• HTML
– Aunque se prima la cabecera HTTP, lo pondremos también
<meta charset="utf-8">
• Formularios:
– Los navegadores respetarán la codificación de HTML
• MySQL
CREATE nombre_bd DEFAULT CHARACTER SET utf8;
SET NAMES utf8;
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
8. PHP Y BASES DE DATOS.
Actividad I: mbstring
Ordenar en PHP un array de textos «difíciles» como
puede ser {'paño', 'palo', 'pato'… }. Será necesario
controlar correctamente el uso de cadenas multibyte
en codificación UTF-8 y la localización española.
Se pueden emplear para ello las siguientes
funciones:
mb_internal_encoding
setlocale
asort
mb_strlen
mb_convert_encoding
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
9. PHP Y BASES DE DATOS.
Actividad II: Unicode en MySQL
Buscar la base de datos «World», base de datos de
ejemplo distribuida para MySQL. Adaptar el archivo
para que la base de datos se almacene
correctamente en UTF-8 y que las tablas empleen el
orden ortográfico estándar de Unicode.
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
10. PHP Y BASES DE DATOS.
L10n
■ i18n + L10n • Identificación y ajuste al idioma de usuario
□ POO – Textos de la interfaz de usuario
□ Documentación
□ Bases de Datos
– Formatos de fecha y otros
– Ordenación de cadenas respetando alfabetos nacionales
• Traducciones
– Identificación y cambio de localización
10/52 setlocale(LC_ALL, 'es_ES.UTF8');
– Incorporar traducciones del idioma deseado → array
– Acceso a TODOS los textos: array + claves
printf($text['Suma de %d y %d'], $a, $b);
– Evitar el operador de concatenación «.»
El orden lo marca el traductor, NO el programador.
– Deberíamos escribir el propio código en inglés... ¿no?
• Presencia en el código
– Ordenación
asort($lista, SORT_LOCALE_STRING);
– Fechas en cadenas de texto
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
11. PHP Y BASES DE DATOS.
Actividad III: traducciones
Localizar los archivos de traducción de Joomla,
observarlos, revisarlos, retocarlos.
• En versiones anteriores de Joomla
encontrábamos dos paquetes de traducciones:
uno «recomendado» y el otro en JoomlaSpanish
incompleto.
Observar la presencia abundante de cadenas de
formato de tipo «printf» y recordar su conveniencia
frente al operador «.» de concatenación de cadenas.
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
12. PHP Y BASES DE DATOS
Introducción a la
Programación Orientada a Objetos
Red profesional colaborativa del ciclo
«Administración de Sistemas Informáticos en Red»
13. PHP Y BASES DE DATOS.
Programación orientada a objetos
□ i18n + L10n Programación orientada a objetos (OOP, POO)
■ POO
□ Documentación
□ Bases de Datos
Forma o «paradigma» de programación
• Antecedentes: programación procedimental, modular,
13/52
orientada a procesos
– El código actúa sobre los datos
• Programación orientada a objetos
– El programa se organiza en torno a los datos
– Conserva estilo: programación estructurada, modular
Objeto: datos + «sus» procedimientos
– Abstracción del mundo real
– Propiedades encapsuladas, privadas, protegidas
Símil: tarjetas inteligentes vs. tarjetas magnéticas
• Clases: tipo, plantilla para replicar objetos
– Jerarquía de herencia. Perfeccionamiento progresivo.
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
14. PHP Y BASES DE DATOS.
POO: beneficios
□ i18n + L10n
■ POO
□ Documentación
□ Bases de Datos
Beneficios de la POO: €
• Calidad:
– robustez del código / reducción de errores € €
• Reutilización de código
14/52
• Facilidad de mantenimiento
• Consecuencia: reducción de costes globales
• Gestión de elementos con mucha variedad
Entornos gráficos de usuario
• Incorporado a todos los lenguajes modernos
$ $
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
15. PHP Y BASES DE DATOS.
POO: Objetos
□ i18n + L10n • Tipo compuesto: abstracción, estructura con datos y
■ POO
operaciones
□ Documentación
□ Bases de Datos
– Datos, atributos, variables → Estado
– Operaciones, funciones, métodos → Comportamiento
Principios de la POO:
15/52 • Encapsulación, ocultamiento
– Datos afines se mantienen de forma conjunta y privada
– Los procedimientos ligados a esos datos también
– Los cambios están controlados
– Acceso a través de una interfaz de métodos públicos
• Herencia
– Clases: definición de tipos de objetos
– Objetos: múltiples instancias de esas clases
– Podemos derivar otras clases con funcionalidades añadidas
• Polimorfismo
– Una misma acción puede tomar distintas formas en los
descendientes
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
16. PHP Y BASES DE DATOS.
POO: Historia
□ i18n + L10n • 1967: Simula
■ POO
□ Documentación • '70: Smalltalk
□ Bases de Datos • 1983: C++
• 1985: Eiffel
• 1995: Java
16/52
• 2001: C# (plataforma .NET)
• Incorporado en los lenguajes modernos
– Perl, PHP, Python
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
17. PHP Y BASES DE DATOS.
POO: Lenguajes
□ i18n + L10n • C++
■ POO – Lenguaje compilado, alto rendimiento
□ Documentación
□ Bases de Datos
– Ámbito: programación de sistemas
• Java, C#
– Lenguajes de propósito general
– Ámbito: programación de aplicaciones locales y web
17/52
– Basados en máquina virtual: compilación + traducción
• PHP
– Lenguaje de propósito general
– Lenguaje interpretado, de scripts, portable
– Ámbito: muy popular en programación para la web
– Soporte en evolución, estable en PHP versión 5
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
18. PHP Y BASES DE DATOS.
POO: Diseño con UML
□ i18n + L10n • Lenguaje Unificado de Modelado
■ POO – Unified Modelling Language (UML)
□ Documentación
□ Bases de Datos
– Herramienta gráfica de diseño para OO
– Describe diversos tipos de diagramas
Los diagramas de clase permiten representar
18/52 • Jerarquía de clases / interfaces
• Elementos
– Atributos, tipos y ámbitos
– Métodos y sus parámetros formales
– Asociaciones
[TUML]
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
19. PHP Y BASES DE DATOS.
Programación orientada a objetos
POO
UML
Clases
Objetos
Atributos
Métodos
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
20. PHP Y BASES DE DATOS.
Clases en PHP
□ i18n + L10n • Código relacionado con clases y objetos ¿dónde?
■ POO
En bloques <?php?>, intercalado
□ Documentación
□ Bases de Datos include o require para incorporar todas las partes
– Definición de las clases
Recomendable, no obligatorio, usar 1 archivo × 1 clase
No se ejecuta hasta ser requerido por algún objeto
20/52 – Instanciación y manipulación de objetos
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
21. PHP Y BASES DE DATOS.
Definición de las clases
□ i18n + L10n • Declaración: class EjemploTipo {…}
■ POO
□ Documentación
– Identificador con estilo CamelCase
□ Bases de Datos Mayúsculas como separadores de palabras
– Nombre de archivo ≈ nombre de la clase
– Definición recogida entre las llaves
• Atributos: variables que representan estado
21/52
– Al comienzo de la clase
– En PHP no se requiere prefijar el tipo de dato
– Con modificadores de acceso: público/privado
– Probablemente privados, para evitar acceso externo directo
Métodos __get y __set para acceder a ellos
• Métodos: código que implementa capacidades
– Funciones
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
22. PHP Y BASES DE DATOS.
Sintaxis esencial
□ i18n + L10n • Declaración de clases:
■ POO class HMundo {…};
□ Documentación
…o con herencia
□ Bases de Datos
class HMundo extends Saludo {…};
• Declaración de atributos:
public $datoVulnerable;
private $nombrePropio;
22/52
• Declaración de métodos:
public function sumaPareja($a, $b) {…};
…o para el constructor inicial
public function __construct(…) {…};
• Acceso interno a atributos:
$this->telefonoMovil
…en PHP SÍ es obligatorio siempre poner $this
• Instanciación de objetos:
$bienvenida=new HMundo('Pepe');
• Acceso externo a métodos:
$bienvenida->saludar();
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
23. PHP Y BASES DE DATOS.
POO en PHP: Ejemplo I
#!/usr/bin/php -f (1) Comienzo de bloque PHP
<?php (2) Declaración de la clase
class HolaMundo {
(3) Declaración de atributos
private $nombre;
(4) Constructor de la clase
public function __construct($nombre) {
$this->nombre=$nombre;
} (6) Acceso a los atributos del objeto
(5) Definición de método
public function saluda() {
$mensaje=sprintf("¡Hola %s!",$this->nombre);
return $mensaje;
}
} (7) Instanciación de objeto
$objeto=new HolaMundo('David');
printf("%sn",$objeto->saluda());
?>
(8) Acceso a método
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
24. PHP Y BASES DE DATOS.
POO en PHP
class
new
__construct
public / private / protected
get / set
→
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
25. PHP Y BASES DE DATOS.
Visibilidad
□ i18n + L10n • private
■ POO – Acceso privado, solo desde métodos de la propia clase.
□ Documentación
□ Bases de Datos
– Uso: habitualmente los atributos serán todos privados.
– Uso: cierto métodos reservados para uso interno.
• public
– Acceso público, desde cualquier parte del código.
25/52
– Uso: conjunto seleccionado de métodos visibles.
• protected
– Acceso protegido, desde métodos de clases descendientes.
– Uso: limitado, acceso entre métodos y atributos emparentados
• Propiedades: atributos «virtuales»
– Acceso externo como atributos públicos.
– Virtualidad gestionada por «métodos mágicos»
__set() y __get()
– Adquirido de C#
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
26. PHP Y BASES DE DATOS.
POO avanzado
□ i18n + L10n • Interfaces: como clases, pero sin código
■ POO – Métodos declarados, pero sin implementar
□ Documentación
□ Bases de Datos
– Se requiere de una clase derivada para crear objetos
– Permiten herencia múltiple
interface iRedondo {…};
class Esfera implements iRedondo {…};
$bola=new Esfera();
26/52
– Métodos y clases abstractas: solo parcialmente incompletas
abstract class AMedias {
abstract protected function pendiente();
…}
• Elementos estáticos
– Comunes para toda la clase: variables, constantes y métodos.
– Accesibles sin necesidad de instanciar ningún objeto
• Operador de acceso «::»
– Acceso a elementos de clase, análogo a «→»
• Métodos mágicos
– Nombres reservados para usos especiales
– __construct, __set, __get …
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
27. PHP Y BASES DE DATOS.
Excepciones
□ i18n + L10n • Excepciones: objetos para gestión de errores
■ POO – Se «lanzan» cuando se produce una situación que impide
□ Documentación
completar un método.
□ Bases de Datos
– Se interrumpe la ejecución del método y se vuelve al método
llamante. En éste se repite la misma situación y la excepción
se va transfiriendo a medida que subimos por la «pila» de
funciones.
27/52
– Código mínimo. Sólo nombre y jerarquía para identificarlas.
• Se pueden «capturar»: bloques try-catch
– Se interrumpe la propagación de la excepción.
– Se ejecuta el bloque «catch» donde se analizar la situación.
Ejecutar el código (try) y si salta una excepción que
queramos capturar (catch) derivar a ese bloque.
– Tres opciones:
Burocrática: avisar y continuar. Mala idea generalmente.
Reintento: revisar los parámetros y repetir.
Propagación: lanzar otra excepción y seguir la cadena.
– Plan: propagar hacia arriba hasta que el método responsable
del dato la capture y tome otras acciones.
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
28. PHP Y BASES DE DATOS
Documentación en PHP: Doxygen
Red profesional colaborativa del ciclo
«Administración de Sistemas Informáticos en Red»
29. PHP Y BASES DE DATOS.
Documentación: Finalidad
□ i18n + L10n Finalidad de la documentación
□ POO
■ Documentación • Intercambio de conocimiento acerca de la aplicación y
□ Bases de Datos su desarrollo
• Aprovechamiento óptimo de la funcionalidad
programada
29/52
Calidad → Reducción de costes €
• Costes de desarrollo
–
–
Adecuación a las especificaciones
Reutilización de código
€ €
– Reducción de errores, reducción del esfuerzo de reparación
– Reducción del esfuerzo de adaptación y mejora
• Costes de explotación
–
–
Tiempo de aprendizaje
Uso eficiente
$ $
– Reducción de errores de uso
• Supone un coste inicial amortizado inmediatamente
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
30. PHP Y BASES DE DATOS.
Documentación: Etapas
□ i18n + L10n • Distintas metodologías de desarrollo concretan
□ POO
distintos modelos
■ Documentación
□ Bases de Datos • Análisis y desarrollo
– Ordinogramas, pseudocódigo (Prog. estructurada)
– UML , diagramas de clases (Prog. Orientada a Objetos)
– Diagramas entidad-relación (Bases de Datos)
• Codificación
30/52
– Paradigmas: modular, estructurado, orientado a objetos
– Identificadores
– Comentarios en línea
Entre el código, aspectos no obvios del algoritmo
– Comentarios formales
Niveles: archivos, clases, funciones, parámetros
• Puesta en producción
– Manual de programador
– Manual de administrador
– Manual de usuario
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
31. PHP Y BASES DE DATOS.
Documentación de código
□ i18n + L10n • La falta de claridad en el código limita seriamente el
□ POO
desarrollo
■ Documentación
□ Bases de Datos
– El esfuerzo de programación crece exponencialmente
• La programación estructurada emplea patrones
conocidos
– Fácil comprensión
31/52
– Fácil adaptación
– Importancia de espaciado y sangrado
• Los identificadores facilitan la lectura y la comprensión
– Nombres significativos
– Importancia de evitar nombres crípticos
– Diferentes convenios asociados históricamente con cada
lenguaje
• Comentarios intercalados
– Para explicar procesos complicados
– NO sustituyen ni a la claridad, ni a la sencillez ni a los
identificadores
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
32. PHP Y BASES DE DATOS.
Documentación de interfaz
□ i18n + L10n Comentarios a nivel de módulos
□ POO
■ Documentación • Funciones, ficheros, clases. Identifican el módulo.
□ Bases de Datos • Informan de su funcionalidad y condiciones de uso
– Interfaz. Modelo de «caja negra».
• Simultáneos a la codificación, si no previos
32/52 – Ayuda del propio programador
– Perdida de utilidad y de contenido si se hacen en diferido
Formatos predeterminados
– Establecidos por la organización o comunidad de
programadores
– Propuestos por el lenguaje en lenguajes OO como Java o C#
(.NET)
– Determinados por las herramientas
Procesados con generadores de documentación
– Generación automática en formatos múltiples
– A partir de los comentarios en el propio código
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
33. PHP Y BASES DE DATOS.
El formato «Javadoc» (I)
□ i18n + L10n • Java: lenguaje de programación orientado a objetos
□ POO
– Origen 1990 (Sun Microsystems)
■ Documentación
□ Bases de Datos
– Inspirado en C y C++
– Interpretado, multiplataforma
– Lenguaje POO de propósito general popular y referente.
33/52
Javadoc:
• Herramienta de generación de documentación para
Java
– Parte del entorno de desarrollo básico (Java Development Kit,
JDK)
– A partir de comentarios en el código genera HTML (páginas
web)
– Uniformidad de estilo de TODA la documentación de Java
– Mecanismo de comunicación universal → Reutilización
• Objetivo: documentar elementos reutilizables
– Paquetes, clases, métodos, parámetros, atributos
– Documentación de la interfaz para poder reutilizar clases
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
34. PHP Y BASES DE DATOS.
El formato «Javadoc» (II)
Compatible C/Java/PHP, pero con dos **
/** Punto en un espacio 2D.
* @author <a href="mailto:profe@cesbur">Profe de PLE</a>
*/ Identificación
public class Punto { Formatos HTML
Hiperenlaces a código
/** Crea un {@link Punto} a partir de sus coordenadas.
* @param cartesianas true para cartesianas, false para angulares
* @param a abscisa o módulo
* @param b ordenada o argumento
*/
public Punto(boolean cartesianas, double a, double b) {
...
} Descripción de la funcionalidad
Palabras clave, con @
/** Realiza un desplazamiento horizontal.
* @param dx desplazamiento Parámetros necesarios
* @return la abscisa tras el desplazamiento
*/ Resultados
public void moverX(double dx) {
...
return x;
}
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
35. PHP Y BASES DE DATOS.
Ejemplo PHP: tablero.php
<?php
/** @file tablero.php Conversión de coordenadas de ajedrez. */
/** Tamaño del tablero */
define('DIM', 8);
$letras = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h');
$numeros = array(1, 2, 3, 4, 5, 6, 7, 8);
/**
* Facilita las coordenadas en el tablero de ajedrez.
* a1 es la celda inferior izquierda negra.
* @param fila_tabla número de fila, con 0 para la fila superior
* @param columna_tabla numero de columna, con 0 a la izquierda
* @return el texto correspondiente
*/
function celda($fila_tabla, $columna_tabla) {
return celda_a_letra($fila_tabla, $columna_tabla) .
celda_a_numero($fila_tabla, $columna_tabla);
}
...
?>
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
36. PHP Y BASES DE DATOS.
Doxygen
□ i18n + L10n • Generador de documentación libre GPL/GNU
□ POO
– Multiplataforma: GNU/Linux, MAC OS X, MS Windows
■ Documentación
□ Bases de Datos
– Aplicable a C, C++, Java, C#, PHP, Python y alguno más
– Compatible con Javadoc, requiere algún ajuste para C o PHP
– Genera ficheros HTML, pero también RTF y LATEX
• Operación:
36/52
– Descarga e instalación
En Linux está disponible en las distribuciones habituales
DOS: Descargar, descomprimir y agregar al PATH. También
hay instalador.
– En el directorio de código fuente crear el fichero de
configuración
doxygen -g → Doxyfile
Recomendable crear directorios separados: src, bin y docs
– Editar el fichero Doxyfile a gusto con un editor de texto
– Ejecutando nuevamente doxygen se generan los documentos
Genera avisos si encuentra código no documentado
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
37. PHP Y BASES DE DATOS.
Doxyfile: sugerencias
□ i18n + L10n – PROJECT_NAME = "Ejemplos OO-PHP"
□ POO – PROJECT_NUMBER = 1.0
■ Documentación – OUTPUT_DIRECTORY = docs
□ Bases de Datos
– OUTPUT_LANGUAGE = Spanish
– JAVADOC_AUTOBRIEF = YES
– RECURSIVE = YES
37/52
– EXTRACT_ALL, EXTRACT_PRIVATE, EXTRACT_STATIC
– SOURCE_BROWSER, GENERATE_TREEVIEW = YES
– HAVE_DOT, UML_LOOK = YES
– GENERATE_LATEX = NO
• No genera nada hasta que no se documentan los
ficheros
– Etiqueta @file al frente de los ficheros deseados
– Descripción delante de cada clase, método o función
– Descripción de funciones incluyendo @param y @return
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
38. PHP Y BASES DE DATOS.
Reglas de estilo
□ i18n + L10n Nuestro objetivo es documentar la funcionalidad
□ POO
■ Documentación de las funciones: el QUÉ, no CÓMO
□ Bases de Datos • Texto concreto y conciso
• Evitar calcar el identificador, sino darle más sentido
• No repetir contexto: «Función que..»
38/52
• Comenzar con verbo en tercera persona de singular
• La primera frase va a los índices: ser muy concretos
– Hasta el primer punto '.' y espacio
(para no cortar direcciones de correo)
– Podemos ampliar la explicación en oraciones sucesivas, pero
teniendo en cuenta que tampoco se busca explicar aquí el
algoritmo: el código debe ser autoexplicativo.
• No olvidar los comportamientos excepcionales y
errores tratados por la función
• Debe ser un reflejo de las especificaciones
– Anticipo del diseño de pruebas unitarias de caja negra
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
39. PHP Y BASES DE DATOS.
Etiquetas Javadoc / Doxygen
□ i18n + L10n • Delimitación de comentarios: /** */
□ POO
■ Documentación • Descripciones: texto.
□ Bases de Datos – Permiten HTML básico para formato.
• Parámetros de funciones: @param identificador
• Valor devuelto: @return (sin identificador)
39/52
• Enlaces internos:
– En bloque:
@see funcion() / @see #identificador
– En línea:
{@link funcion()} / {@link #identificador}
Entre llaves; se pueden intercalar en cualquier texto
• Identificación:
@author nombre / @version numero
• Ficheros (en Doxygen):
@file nombre.ext Contenido
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
40. PHP Y BASES DE DATOS.
Doxygen: instalación
□ i18n + L10n GNU Linux / Ubuntu
□ POO
■ Documentación
– Fácil: gestor de paquetes, buscar Doxygen
□ Bases de Datos – Opcionalmente instalar Graphviz (dot, genera gráficos)
– Acceso por consola de texto
$> doxygen
40/52
MS Windows
• Descargar y descomprimir Doxygen + Graphviz
– Evitar los instaladores si es posible
– Elegir nombres de directorios cortos, sin espacios
• Ejecutar desde una consola de texto
– Agregar a PATH
• Sugerencia:
– Hacer copia de la «consola de sistema»
– Asociar un archivo de comandos: /k archivo.cmd
– Configurar PATH y mode en el archivo (windows-1252)
– Cambiar tipo de letra: Lucida Console
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
41. PHP Y BASES DE DATOS.
PHP + Doxygen en MS Windows (I)
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
42. PHP Y BASES DE DATOS.
PHP + Doxygen en MS Windows (II)
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
43. PHP Y BASES DE DATOS
Acceso a bases de datos con PDO
Red profesional colaborativa del ciclo
«Administración de Sistemas Informáticos en Red»
44. PHP Y BASES DE DATOS.
PHP Data Objects (PDO)
□ i18n + L10n • Extensión de PHP para acceso a bases de datos.
□ POO
□ Documentación • Capa de abstracción, independiente del SGBD.
■ Bases de Datos – Interface común, parámetros ajustables.
– Funcionalidad dependiente del SGBD.
Abstracción en el acceso, no en la base de datos.
– Requiere activar la extensión pdo_xxxx del gestor, en php.ini
44/52
Verificable con phpinfo()
• A partir de PHP 5.1
Wez Furlong, Message Systems
– Previamente se empleaban extensiones particulares.
– Siguen operativas y en uso.
• Tecnología orientada a objetos
– Tres clases
PDO – Base de datos
PDOStatement – Resultados
PDOException – Incidencias
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
45. PHP Y BASES DE DATOS.
PDO I: Conexión y desconexión
□ i18n + L10n • Conexión = creación del objeto
□ POO
– Instancia de la case PDO.
□ Documentación
■ Bases de Datos
– Los datos de conexión van en los parámetros al constructor.
• Los errores generan excepciones.
– La descripción del error va en el texto de la excepción.
+ Códigos de error ANSI SQLSTATE
45/52
– Se debe capturar con una estructura try-catch.
• Desconexión automática
– Al anular la referencia al objeto.
(1) Instanciación del objeto
try {
$db = new PDO($dsn, $user, $password, $options);
(3) Vigilando la excepción
} catch (PDOException $e) {
die ("Failed to connect: " . $e->getMessage());
}
… (4) Mensaje del error
$db=NULL; (2) Anular y cerrar
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
46. PHP Y BASES DE DATOS.
PDO II: Consultas
□ i18n + L10n Dos estrategias:
□ POO
□ Documentación • Consulta directa, sin preparación
■ Bases de Datos – Consulta de datos: devuelve PDOStatement o FALSE.
$consulta=$db->query($sql);
– Otras sentencias: devuelve número de filas afectadas o 0.
$n=$db->exec($sql);
46/52 – PROTEGER ANTES de comillas y caracteres especiales
$sql=$db->quote($texto);
– Se recomienda evitarlas en favor de consultas preparadas.
• Consulta con preparación
– Optimiza para consultas reutilizables con parámetros.
– El uso de parámetros protege de inyecciones SQL.
$consulta=$db->prepare($sql_p);
$consulta->execute(array(…));
Los parámetros se incorporan en la consulta original
como «?» o como «:clave» según el array a usar
– PDO::prepare() devuelve también PDOStatement.
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
47. PHP Y BASES DE DATOS.
Ejemplo PHP: consulta MySQL
require_once('conf/config.php');
$sql_p = 'select Name,Code from Country where name like ?';
try {
// Conexión
$fuente = sprintf('mysql:host=%s;dbname=%s', DBHOST, DBNAME);
$basededatos = new PDO($fuente, DBUSER, DBPASSWORD);
$basededatos->exec('set names utf8');
// Consulta
$consulta = $basededatos->prepare($sql_p);
$consulta->execute(array('S%n'));
$resultados = $consulta->fetchAll(); // acceso con buffer
// Procesado
$nelementos = count($resultados);
foreach ($resultados as $fila) {
printf("%s - %sn", $fila['Code'], $fila['Name']);
}
} catch (PDOException $e) { // Errores
printf('Error en base de datos: %s', $e->getMessage());
}
$basededatos = NULL; //Cierre
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
48. PHP Y BASES DE DATOS.
PDO III: Consultas y resultados
□ i18n + L10n Resultados: proceso de PDOStatement
□ POO
□ Documentación
– Las consultas devuelven objetos PDOStatement.
■ Bases de Datos – En caso de consultas preparadas hay que ejecutarlas.
– Finalmente se recogen o analizan los resultados.
• Lectura de TODA la tabla resultante
– Desaconsejable en consultas voluminosas
48/52
$resultados=$consulta->fetchAll();
• Lectura por filas/tuplas una a una
while (Sfila=$consulta->fetch()) {…};
Acabar o cerrar con closeCursor() antes de otra consulta.
• Número de filas/tuplas afectadas
$n=$consulta->rowCount();
– Para INSERT, DELETE, UPDATE. Informan del acierto o no.
– Con SELECT depende de la base de datos: no hay garantía.
• Se puede recorrer directamente con «foreach».
Gracias a que implementa la interface Traversable.
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
49. PHP Y BASES DE DATOS.
Ejemplo PHP: entrada
require_once('conf/config.php');
$sql_p = 'update Access set User=?';
try {
// Conexión
$fuente = sprintf('mysql:host=%s;dbname=%s', DBHOST, DBNAME);
$basededatos = new PDO($fuente, DBUSER, DBPASSWORD);
$basededatos->exec('set names utf8');
// Consulta
$consulta = $basededatos->prepare($sql_p);
$resultado = $consulta->execute(array('ASIR2012'));
// Procesado
$mensaje = ($resultado) ? "SÍ" : "NO";
printf("Actualización %s realizadan", $mensaje);
} catch (PDOException $e) { // Errores
printf('Error en base de datos: %s', $e->getMessage());
}
$basededatos = NULL; //Cierre
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
50. PHP Y BASES DE DATOS.
Referencias
Sintes, B. (2011, IES Abastos). Páginas web con PHP
http://www.mclibre.org/consultar/php/
Simpson, A. (WebCollab, consulta 12/2011) PHP and UTF-8 Howto
http://webcollab.sourceforge.net/unicode.html
PHP (The PHP Group, consulta 12/2011) PHP Manual – Clases y
objetos
http://www.php.net/manual/es/oop5.intro.php
Salinas, P. (Univ. Chile, consulta 12/2011) Tutorial de UML – Modelo
de clases
http://www.dcc.uchile.cl/~psalinas/uml/modelo.html
Furlong, W. (Message Systems, consulta 1/2012) PHP Data Objects
http://www.slideshare.net/wezfurlong/php-data-objects
Bibliografía actualizada en delicious:
http://www.delicious.com/dhmartin/IW-ASIR
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
51. PHP Y BASES DE DATOS.
Licencia
Este material está disponible bajo una Licencia Creative Commons,
http://creativecommons.org/licenses/by-nc-sa/3.0/es/
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»
52. PHP Y BASES DE DATOS.
¿Dudas o cuestiones?
Enero de 2013 ARCE: «Administración de Sistemas Informáticos en Red»