Luis calero

1.024 visualizaciones

Publicado el

PORTAFOLIO DE OPTATIVA

Publicado en: Internet
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
1.024
En SlideShare
0
De insertados
0
Número de insertados
8
Acciones
Compartido
0
Descargas
7
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Luis calero

  1. 1. INSTITUTO TECNOLOGICO HUAQUILLAS “POST - BACHILLERATO” PORTAFOLIO DE OPTATIVA I DOCENTE: Ing. HECTOR MENA ALUMNO LUIS CALERO CURSO: CUARTO NIVEL – INFORMATICA “A” AÑO LECTIVO: 2014 – 2015 Y
  2. 2. PORTAFOLIO DE OPTATIVA I PHP es un lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los datos. El código es interpretado por un servidor web con un módulo de procesador de PHP que genera la página Web resultante. PHP ha evolucionado por lo que ahora incluye también una interfaz de línea de comandos que puede ser usada en aplicaciones gráficas independientes. Puede ser usado en la mayoría de los servidores web al igual que en casi todos los sistemas operativos y plataformas sin ningún costo. INTRODUCCION AL LENGUAJE DE PROGRAMACION PHP
  3. 3. AGRADECIMIENTO Este portafolio es el resultado del esfuerzo y dedicación, por esto agradezco a nuestro profesor al Ing. Héctor Mena, mis compañeros, quienes a lo largo de este tiempo han puesto a prueba sus capacidades y conocimientos en el desarrollo de este trabajo. A mis padres quienes a lo largo de toda mi vida han apoyado y motivado mi formación académica, creyeron en mí en todo momento y no dudaron de mis habilidades. A mis profesores a quienes les debo gran parte de mis conocimientos, gracias a su paciencia y enseñanza y finalmente un eterno agradecimiento a esta prestigiosa institución la cual abrió sus puertas a jóvenes como nosotros, preparándonos para un futuro competitivo y formándonos como personas de bien. Luis Alberto Calero Romero
  4. 4. DEDICATORIA Dedico este portafolio a Dios y a mis padres. A Dios porque ha estado conmigo a cada paso que doy, cuidándome y dándome fortaleza para continuar, a mis padres, quienes a lo largo de mi vida han velado por mi bienestar y educación siendo mi apoyo en todo momento. Depositando su entera confianza en cada reto que se me presentaba sin dudar ni un solo momento en mi inteligencia y capacidad. Es por ellos que soy lo que soy ahora. Los amo con mi vida. Luis Alberto Calero Romero
  5. 5. SÍLABO DE OPTATIVA I Carrera de Tecnología Informática I. DATOS GENERALES.- 1.1. DENOMINACIÓN DEL MÓDULO Optativa I 1.2. SEMESTRE DE ESTUDIOS Cuarto Semestre 1.3. ESPECIALIZACIÓN Informática 1.4. JORNADA Nocturna 1.5. NÚMERO DE ALUMNOS 40 alumnos paralelo “A” 1.6. NÚMERO DE CRÉDITOS 5 1.7. PRERREQUISITOS Conocimientos sobre Base de Datos, Programación orientado a objetos. 1.8. CORREQUISITOS Trabajo investigativo Trabajo grupal Investigación de campo 1.9. TIPO DE MÓDULO Formativo 1.10. SEMESTRE Marzo del 2014 a Mayo del 2014 1.11. FECHA DE INICIO 10 de Marzo del 2014 1.12. FECHA DE TÉRMINO 19 de Mayo del 2013 1.13. PERIODOS SEMANALES 5 periodos 1.14. DURACIÓN EN HORAS 80 Horas 1.15. HORAS PRESENCIALES 80 Horas 1.16. DOCENTE RESPONSABLE Ing. Hector Mena
  6. 6. II. FUNDAMENTACIÓN La creciente demanda del WWW ha permitido el nacimiento de los lenguajes de programación web, permitiendo crear paginas dinámicas con conexión a una base de datos. PHP, es un lenguaje de programación que ha venido creciendo año tras año, haciendo que la curva de aprendizaje de este sea menor frente a otros lenguajes de programación. En PHP podemos generar aplicaciones totalmente dinámicas, lo cual significa menos tiempo de programación frente a las paginas estáticas, además este lenguaje de programación ofrece un gran soporte a la mayoría de las base de datos existentes en la actualidad. Así mismo una de las grandes empresas como Facebook, decidieron montar todo el núcleo de la aplicación en PHP. PHP hace posible resolver problemas en un entorno web, independiente del sistema operativo donde el usuario final lo ejecute, permitiendo ejecutar las aplicaciones desarrolladas en cualquier plataforma posible siempre y cuando se cuente con un explorador web. III. COMPETENCIAS GENERALES a. Conocer las bondades y beneficios que un lenguaje de programación web ofrece, frente a los lenguajes de programación de escritorio. b. Comprender los conceptos básicos de programación en PHP c. Comprender las infinidades de aplicaciones que se pueden desarrollar en PHP. d. Instalar un servidor apache y MySQL.
  7. 7. IV. APORTES TEÓRICOS 1 INTRODUCCIÓN A PHP 1.1 Terminología de PHP. 1.2 Historia y usos y ejemplos de éxito de PHP. 1.3 Terminología y uso de XAMPP 1.4 Historia y uso de Apaches. 2 TIPOS DE DATOS Y VARIABLES EN PHP 2.1 Conceptos de variables 2.2 Manejo de variables 2.2.1 Concatenación de cadenas de caracteres. 2.2.2 Manejo de variables numéricas. 3 ESTRUCTURAS SELECTIVAS Y REPETITIVAS 3.1 Estructuras selectivas 3.1.1 Concepto, estructura y manejo de IF. 3.1.2 Concepto, estructura y manejo de IF y ELSE. 3.2 Estructuras repetitivas 3.2.1 Concepto, estructura y manejo de FOR. 3.2.2 Concepto, estructura y manejo de WHILE. 3.2.3 Concepto, estructura y manejo de DO WHILE. 3.2.4 Concepto, estructura y manejo de FOREACH. 4 COMPONENTES HTML 4.1 Uso y funcionamiento del form. 4.2 Uso y funcionamiento del text. 4.3 Uso y funcionamiento del checkbox. 4.4 Uso y funcionamiento del radio button. 4.5 Uso y funcionamiento del select. 4.6 Uso y funcionamiento del img. 4.7 Uso y funcionamiento del textarea.
  8. 8. 4.8 Uso y funcionamiento del campo oculto. 4.9 Uso y funcionamiento del password. 4.10 Uso y funcionamiento de tablas. 5 VECTORES Y ARCHIVOS 5.1 Introducción a vectores. 5.2 Declaración de vectores. 5.3 Uso de vectores. 5.4 Introducción a vectores asociativos. 5.5 Declaración de vectores asociativos. 5.6 Uso de vectores asociativos. 5.6 Introducción a archivos usos. 5.6 Leer un archivo con PHP. 5.6 Escribir en un archivo con PHP. 6 PROGRAMACION ORIENTADA A OBJETOS 6.1 Introducción a funciones. 6.2 Declaración y uso de funciones. 6.3 Introducción a clases. 6.4 Declaración y uso de clases. 7 CONEXIÓN A MySQL 6.1 Introducción a MySQL. 6.1 Creación de un base de datos en MySQL. 6.1 Conexión de PHP a MySQL. 6.1 Insertar valores en MySQL desde PHP. 6.1 Actualizar valores en MySQL desde PHP. 6.1 Eliminar valores en MySQL desde PHP. 6.1 Seleccionar valores en MySQL desde PHP. V. ESTRATEGIAS METODOLÓGICAS Se aplicará permanentemente las siguientes estrategias metodológicas:  Dinámicas Grupales
  9. 9.  Trabajo autónomo  Trabajo grupales  Prácticas  Aportes individuales  Debates  Evaluación y análisis de resultados. VI. MATERIALES EDUCATIVOS Y OTROS RECURSOS DIDÁCTICOS  Textos de consulta  Programa del módulo  Marcadores  Pizarra  Organizadores gráficos  Las Tic's  Diapositivas  Laboratorio de computación VII. CAPACIDADES ESPECÍFICAS A DESARROLLARSE  Conocer PHP como lenguaje de programación web para la creación de páginas dinámicas.  Diferenciar las diferencias entre un lenguaje de programación en entorno web y un lenguaje de programación sobre los entornos de escritorios.  Creación de sistemas informáticos en entorno web. VIII. CONTEXTO DE APLICACIÓN  Crear una aplicación web con MySQL como motor de base de datos, con la finalidad de afrontarse a un problema de la vida real, donde puedan emplear lo aprendido. IX. TRABAJO AUTÓNOMO o Conocer los beneficios de PHP frente a otros lenguajes. o Utilización de PHP, como una opción al momento de programar una aplicación. o Emplear MySQL como motor de base de datos por defecto para PHP
  10. 10. X. INDICADORES, TÉCNICAS E INSTRUMENTOS DE EVALUACIÓN PARÁMETRO DE EVALUACIÓN DE PROCESO ACTIVIDADES ACADÉMICAS VALORACIÓN NUMÉRICA Intraclase Participación en clase 4 Participación grupal (Talleres) Lecciones Exposiciones Extraclase Deberes 2 Proyecto Evaluación Evaluación por créditos 4 NOTA FINAL MÁXIMA (10/10) 10 PUNTOS XI. BIBLIOGRAFÍA  COBO, Àngel. PHP y MySQL tecnología para el desarrollo de aplicaciones web. Dìaz de Santos. Primera Edición. 2005. Madrid  Heurtel, Oliver. PHP y MySQL domine el desarrollo de un sitio web dinámico e interactivo. Ediciones ENI. Primera Edición edición. 2009. Barcelona  David, Sklar, Trancbtenberg, Adam. PHP cookbook. O‟REILLY . Primera edición. 2003  Powers, David. Desarrollo web dinámico con Dreamweaver 8 y PHP. Anaya Multimedia-Anaya interactiva. 2006  Welling, Luke. Thomson, Laura. PHP and MySQL Web Development.Sams Publishing. Segunda edición. 2003  Holsner, Steven. Manual avanzado de PHP 5, Grupo Anaya, Primera edición, 2005.
  11. 11. XII. INTEGRIDAD ACADÉMICA Los trabajos que no se presenten la fecha y la hora indicada tendrá un equivalente a la mitad de la valoración, solo en casos especiales debidamente justificados se calificará sobre el mismo valor. Las evaluaciones que no se den el día y la hora señalada tendrán una asignación de dos puntos sobre diez, excepto en casos especiales los mismos que deben ser autorizados por la máxima autoridad del plantel. Si se encuentra un trabajo y/o informe como un plagio que atenta a la honestidad e integración de cada estudiante, serán anulados los trabajos o informes y obtendrá una valoración de dos a los trabajos de plagio. XIII. FIRMA DE RESPONSABILIDAD  DOCENTE: Ing. Héctor Mena  CELULAR: 0991423964  EMAIL: patos803@hotmail.com  DIRECCIÓN: Huaquillas, 9 de Octubre entre Carchi e Imbabura. FIRMA DEL DOCENTE FIRMA DE LA DIRECTORA
  12. 12. FORMATO DE SÍLABO FECHA APORTES TEÓRICOS CAPACIDADES ESPECÍFICAS A DESARROLLARSE HORAS DE CLASE CONTEXTO DE APLICACIÓN TRABAJO AUTÓNOMO Del 10 al 12 de Marzo del 2014 INTRODUCCIÓN A PHP Terminología de PHP. Historia y usos y ejemplos de éxito de PHP. Terminología y uso de XAMPP Historia y uso de Apaches. Conocer el lenguaje de programación PHP, historia, orígenes y empresas que trabajan actualmente con él. 6hs  Elaboración de un cuadro sinóptico con los datos relevantes de los conceptos. Del 14 al 19 de Marzo del 2014 TIPO DE DATOS Y VARIABLES Conceptos de variables Manejo de variables Concatenación de cadenas de caracteres. Manejo de variables numéricas. Diferenciar e interpretar el manejo de los tipos de datos y variables en PHP. 8hs.  Trabajo en equipo.  Elaboración de organizadores gráficos.
  13. 13. Del 21 al 26 de Marzo del 2014 ESTRUCTURAS SELECTIVAS Y REPETITIVAS Estructuras selectivas Concepto, estructura y manejo de IF. Concepto, estructura y manejo de IF y ELSE. Estructuras repetitivas Concepto, estructura y manejo de FOR. Concepto, estructura y manejo de WHILE. Concepto, estructura y manejo de DO WHILE. Concepto, estructura y manejo de FOREACH. Conocer y manejar las estructuras selectivas y repetitivas dentro de PHP. 8hs.  Ejercicios Prácticos.  Preguntas de Reflexión  Práctica Dirigida.  Evaluación. Del 28 de Marzo al 9 de Abril del 2014 COMPONENTES HTML Uso y funcionamiento del form. Uso y funcionamiento del text. Uso y funcionamiento del checkbox. Uso y funcionamiento del radio button. Uso y funcionamiento del select. Uso y funcionamiento del img. Uso y funcionamiento del textarea. Conocer y dominar los componentes más indispensables existentes en HTML. 16hs.  Ejercicios Prácticos.  Preguntas de Reflexión.  Práctica Dirigida.  Trabajo en equipo  Evaluación.
  14. 14. Uso y funcionamiento del campo oculto. Uso y funcionamiento Uso y funcionamiento de tablas. Del 11 al 16 de Abril del 2014 VECTORES Y ARCHIVOS Introducción a vectores. Declaración de vectores. Uso de vectores. Introducción a vectores asociativos. Declaración de vectores asociativos. Uso de vectores asociativos. Introducción a archivos usos. Leer un archivo con PHP. Escribir en un archivo con PHP. Diferencias los distintos tipos de vectores existentes en PHP, junto con la creación y lectura de archivos en PHP 8hs.  Ejercicios Prácticos  Preguntas de Reflexión.  Trabajo en equipo  Evaluación. Del 18 de Abril al 7 de Mayo del 2014 PROGRAMACION ORIENTADA A OBJETOS Introducción a funciones. Declaración y uso de funciones. Introducción a clases. Declaración y uso de clases. Conocer y Dominar la programación orientada a objetos asi como la creación de funciones dentro de PHP. 20hs.  Ejercicios Prácticos  Trabajo en equipo  Preguntas de Reflexión.
  15. 15. LENGUAJES DE PROGRAMACIÓN QUÉ ES UN LENGUAJE DE PROGRAMACIÓN El "cerebro" de un ordenador es la Unidad Central de Procesamiento (CPU). En general una CPU no puede almacenar más que unos pocos números y realizar operaciones matemáticas básicas con ellos. Además esos números se pueden recibir de o enviar a la memoria o a los distintos dispositivos de entrada y salida (teclado, monitor, disco duro, impresora, etc). Para cada una una de estas operaciones (obtener números de un sitio, hacer cálculos con esos valores, enviar el resultado a otro sitio) existe una instrucción diferente y cada CPU tiene su propio juego de instrucciones, más o menos amplio dependiendo de la complejidad de la CPU. En la memoria del ordenador se puede guardar una secuencia de esas instrucciones, que el ordenador es capaz de seguir desde el principio hasta el final (aunque esas instrucciones no tienen por qué ejecutarse siempre en el mismo orden porque existen instrucciones para saltar de un punto a otro de la secuencia de instrucciones). Esas secuencias se llaman programas ejecutables. Cualquier función que realice un ordenador, por sofisticada que parezca, en realidad no es más que una larga secuencia de instrucciones elementales. Para los humanos resulta muy complicado escribir directamente los programas ejecutables porque cualquier tarea requiere muchísimos pasos, que el ordenador ejecuta de forma instantánea, pero para que los ordenadores funcionen es necesario disponer de programas ejecutables. Existen muchos lenguajes de programación diferentes, pero en general, un programador que quiere conseguir que el ordenador realice determinadas operaciones, tiene que seguir estos pasos:  El programador escribe una secuencia de instrucciones siguiendo las reglas de un lenguaje de programación. Esa secuencia de instrucciones se guarda en uno o varios archivos de texto. A estos archivos se les llama código fuente del programa.
  16. 16.  Mediante un programa especial (llamado compilador o intérprete) capaz de realizar esa tarea el ordenador convierte los archivos de texto en archivos ejecutables, es decir, traduce la secuencia de instrucciones escritas por el programador en instrucciones. A estos archivos ejecutables se les llama programas ejecutables.  El programador o cualquier otro usuario le puede pedir al ordenador que ejecute el programa ejecutable. En el ejemplo citado de las ráices cuadradas, el compilador o intérprete tendría que ser capaz de convertir la instrucción de raíz cuadrada que hubiera escrito el programador en una serie de sumas, restas, multiplicaciones o divisiones que acaben dando el resultado deseado. PÁGINAS, WEB, LENGUAJES DE PROGRAMACIÓN Y BASES DE DATOS La World Wide Web (o simplemente, la web) fue ideada por Tim Berners Lee en 1990, empezó a funcionar en el CERN en 1991 y se extendió rápidamente por las Universidades del mundo (en aquel entonces Internet era una red a la que sólo tenían acceso entidades gubernamentales, particularmente entidades educativas). En 1992 algunos proveedores comerciales empezaron a dar acceso a particulares y empresas, lo que popularizó todavía más la web. En aquellos años, las páginas web solían ser documentos de texto guardados en algún directorio de un servidor y a los que se podía acceder mediante los primeros navegadores web. Cada página web que se veía en el navegador correspondía a un fichero en el servidor. La imagen siguiente ilustra de forma simplificada el esquema de funcionamiento:
  17. 17.  El usuario escribe la dirección de la página web en su navegador  El navegador la solicita al servidor web correspondiente (este paso requiere la participación de máquinas intermedias que no se comentan aquí)  El servidor lee el fichero que corresponde a esa página web  El servidor envía el fichero al navegador  El navegador muestra la página web al usuario Este esquema de funcionamiento es suficiente para sitios web pequeños creados por una sola persona, pero en cuanto un sitio web empieza a crecer, empiezan a surgir los problemas. Por ejemplo:  si el sitio contiene muchas páginas es necesario crear menús que permitan orientarse por el sitio. Como cada página debe contener el menú, cualquier cambio en el menú obliga a modificar todas las páginas.  si el sitio modifica a menudo su contenido (por ejemplo, la web de un periódico), tener que editar manualmente los ficheros ralentiza el proceso.  si el sitio es creado por varias personas, cualquiera puede modificar por error los ficheros de otras personas y si varias personas quieren modificar el mismo fichero se pueden producir conflictos.  si se quiere permitir la participación del público (foros, comentarios en blogs, etc), esta participación depende de que uno de los autores modifique los ficheros, lo que ralentiza el proceso.  si personas sin conocimientos técnicos quieren participar en la creación del sitio, pueden cometer errores editando los ficheros. La solución es que las páginas no sean ficheros estáticos guardados en el disco, sino que se generen cuando el usuario las solicite. Por ejemplo, para resolver el problema de los menús comentado anteriormente, una solución sería que el menú estuviera en un fichero aparte y cuando el usuario solicitara una página, el menú se añadiera al principio de cada página (nota: no me refiero a la composición de páginas mediante frames, una solución desaconsejada hace muchos años, sino a componer un único fichero a partir de varios).
  18. 18. Esa generación de las páginas se puede hacer de varias maneras. Una de ellas es recurrir a lenguajes de programación generales o específicos (como PHP). Desde sus inicios, los servidores web permiten recurrir a lenguajes de programación para generar las páginas web. La imagen siguiente ilustra de forma simplificada el esquema de funcionamiento:  El usuario escribe la dirección de la página web en su navegador  El navegador la solicita al servidor web correspondiente (este paso requiere la participación de máquinas intermedias que no se comentan aquí)  El servidor detecta que no es un documento ya existente sino que tiene que generarse, así que recurre al intérprete del lenguaje  El intérprete del lenguaje ejecuta el programa y la salida del programa se envía al servidor  El servidor envía el fichero al navegador  El navegador muestra la página web al usuario Es importante señalar que al usuario le resulta indiferente que la página estuviera guardada en el disco duro o que se haya generado en ese momento, de la misma manera que le resulta indiferente el lenguaje de programación que haya generado el documento. El navegador recibe el documento en ambos un documento de texto que contiene etiquetas html y lo muestra al usuario. A veces, el usuario puede suponer que la página que se le está sirviendo se ha generado mediante PHP ya que la dirección de la página termina por .php en vez del habitual .html, aunque no se puede estar seguro de que sea realmente así.
  19. 19. Pero el uso de lenguajes de programación no suele ser suficiente. Si la información está diseminada en multitud de trozos para organizar y acceder fácilmente a toda esa información, es conveniente utilizar algún sistema gestor de bases de datos. Existen muchos sistemas gestores de bases de datos y cualquier lenguaje de programación puede conectarse a ellas y realizar consultas. La imagen siguiente ilustra de forma simplificada el esquema de funcionamiento:  El usuario escribe la dirección de la página web en su navegador  El navegador la solicita al servidor web correspondiente (este paso requiere la participación de máquinas intermedias que no se comentan aquí)  El servidor detecta que no es un documento ya existente sino que tiene que generarse, así que recurre al intérprete del lenguaje  El intérprete del lenguaje ejecuta el programa, que requiere ejecutar consultas al sistema gestor de bases de datos y la salida del programa se envía al servidor  El servidor envía el fichero al navegador  El navegador muestra la página web al usuario Como antes, al usuario le resulta indiferente que se haya accedido o no a un sistema gestor de bases de datos. El navegador recibe el documento en ambos un documento de texto que contiene etiquetas html y lo muestra al usuario.
  20. 20. TERMINOLOGIA DE PHP PHP, acrónimo de "PHP: Hypertext Preprocessor", es un lenguaje de 'scripting' de propósito general y de código abierto que está especialmente pensado para el desarrollo web y que puede ser embebido en páginas HTML. Su sintaxis recurre a C, Java y Perl, y es fácil de aprender. La meta principal de este lenguaje es permitir a los desarrolladores web escribir dinámica y rápidamente páginas web generadas; aunque se puede hacer mucho más con PHP. PHP es un lenguaje de alto nivel que se ejecuta en el servidor. El significado de las siglas PHP es pre-procesamiento de hipertexto, es decir, PHP procesa el hipertexto o HTML y lo devuelve para que el navegador pueda interpretarlo. Así, por ejemplo, podemos leer el contenido de una base de datos. Aunque pueda parecer extraño, no es posible crear una página Web únicamente con lenguaje PHP. PHP necesita escribir un código interpretable por el navegador para expresar las acciones que desarrolla. Así programar en PHP implica saber programar en HTML, en CSS o en javascript. Los lenguajes de creación de página Web más usados son HTML, javascript y CSS; y estos lenguajes se pueden ejecutar en el mismo ordenador del usuario. Sin embargo PHP no se puede ejecutar en un ordenador de la misma manera que los hace HTML, javascript o CSS. Para que pueda ejecutarse debemos instalar un servidor para PHP en nuestro ordenador. Aunque hay paquetes de software que instalan todos los componentes como Apache, PHP y un administrador de bases de datos como PHPMyAdmin, lo más rápido es crear tus script y subirlos a un servidor listo para operar con PHP. No todos los servidores, es especial los gratuitos, soportan PHP.
  21. 21. HISTORIA Y USOS Y EJEMPLOS DE ÉXITO DE PHP Es importante señalar que la evolución de PHP es diferente a la de otros lenguajes de programación. No hay ningún organismo encargado de la definición del lenguaje PHP (y empresas que implementan esa definición en diferentes compiladores o intérpretes), sino que el lenguaje evoluciona a la vez que lo hace el intérprete "oficial" de PHP publicado desde la versión 4 por la empresa Zend. Existen otros motores, como Hip- hop creado por Facebook, pero son minoritarios. Aunque el lenguaje y el intérprete son cosas conceptualmente distintas, es habitual referirse a ambos como PHP. PHP (el intérprete) ha sido publicado siempre como software libre, con una licencia llamada licencia PHP. Esta licencia es una licencia libre sin copyleft. Como la licencia impone restricciones al uso del término PHP en productos derivados, esta licencia es incompatible con la licencia GPL, por lo que la Free Software Foundation recomienda que sólo se utilice para programar extensiones del propio PHP. PHP fue creado por Rasmus Lerdorf en 1995. El nombre PHP significaba entonces Personal Home Page y hacía referencia a que era un lenguaje diseñado para facilitar la generación de páginas web, en primer lugar en el sitio web personal de Rasmus Lerdorf y rápidamente en muchos sitios. Desde entonces, PHP no ha dejado de evolucionar, proporcionando nuevas características. En noviembre de 1997 Rasmus Lerdorf publicó una segunda versión del lenguaje, PHP2
  22. 22. En junio de 1998 se publicó PHP 3. Esta versión fue creada por Zeev Suraski y Andi Gutmans, que desde entonces dirigen el desarrollo de PHP (con la colaboración de Lerdorf). A partir de esta versión PHP significa PHP: Hypertext Preprocessor (añadiéndose a la lista de acrónimos recursivos como GNU, Lame, Wine, RPM, etc.). La característica más decisiva de esta versión fue la mejora de la extensibilidad del lenguaje, permitiendo que muchos programadores aportaran nuevos módulos, pero esta versión también simplificó la sintaxis del lenguaje e introdujo la posibilidad de utilizar una sintaxis orientada a objetos. En 1999 Zeev Surski y Andi Gutmans crearon la empresa Zend Technologies, que desarrolla productos basados en PHP (servidores, editores, etc.). En mayo de 2000 se publicó PHP 4, que incluía un nuevo motor llamado Zend Engine. Esta versión era bastante más rápida que la anterior y añade nuevas características como las sesiones. En julio de 2004 se publicó PHP 5, que incluía un nuevo motor llamado Zend Engine 2. La característica más importante de esta versión es la mejora de la programación orientada a objetos. La siguiente versión prevista, que se tendría que publicar como PHP 6, se fijó el objetivo de dar a PHP soporte completo de Unicode, el juego de caracteres universal. Pero ese objetivo ha resultado ser mucho más difícil de conseguir de lo esperado y en 2010 prácticamente se tiró la toalla y sigue sin estar claro si se alcanzará el objetivo. Mientras tanto, se han ido publicando versiones 5.X que han ido introduciendo bastantes novedades en el lenguaje (5.3 publicada en junio de 2009, 5.4 publicada en marzo de 2012 y 5.5 publicada en junio de 2013).
  23. 23. A EVOLUCIÓN DE PHP EN EL TIEMPO. LAS VERSIONES. PHP 3 PHP 3.0, liberada en 1998, era la primera versión que se parecía fielmente al PHP tal y como lo conocemos hoy en día. Una de las mejores características de PHP 3.0 era su gran extensibilidad. Cuando hablamos de extensibilidad nos referimos a la existencia de un núcleo o core al que se le pueden ir añadiendo fragmentos de código que permiten hacer más cosas. Se trataría de algo parecido a tener una base sobre la que podemos ir añadiendo piezas. Veamos una imagen: En esta imagen, correspondiente a los juegos de niños armables “Lego”, vemos cómo existe una base verde. Esa base sería el core o núcleo de PHP. Luego, aprovechando que esa base tiene preparados los anclajes para seguir poniendo piezas, vemos que se le han añadido extensiones. Por ejemplo, la primera extensión que tiene una base azul podría ser una extensión que permita la gestión de correos electrónicos. La segunda extensión,
  24. 24. que tiene una base verde, podría ser una extensión para gestionar imágenes, y así sucesivamente… Además de facilitar el trabajo con muchas bases de datos, protocolos y sistemas informáticos, las características de extensibilidad de PHP 3.0 atrajeron a muchos programadores a unirse al proyecto y enviar nuevos módulos de extensión. Esta fue la clave del enorme éxito de PHP 3.0: que fue un proyecto abierto al que se unieron muchos programadores formando una comunidad. Todo el nuevo lenguaje fue liberado con el nombre de 'PHP', con el significado de ser un acrónimo juego de las letras iniciales de “Hypertext Preprocessor”. A partir de su lanzamiento, PHP creció pasando a ser usado por miles de programadores y cientos de miles de sitios Web. Se estima que PHP 3.0 conquistó una fracción del total de servidores mundiales de en torno al 10 %, lo cual fue un éxito rotundo. PHP 4 La principal novedad de PHP 4 está en el intérprete del lenguaje PHP. Con la nueva versión se lograron aumentos de entre 5 y 10 veces en la velocidad de ejecución de páginas PHP respecto a la versión anterior, lo cual fue un salto muy importante. Además del aumento en rendimiento, se introdujeron novedades relacionadas con el soporte de objetos en PHP. La programación orientada a objetos es una forma avanzada de programación y gracias a estas características PHP se encuentra entre los lenguajes de vanguardia. Otra nueva característica de PHP 4 fue que podía soportar hilos cosa que en PHP 3 no era posible. Un hilo es básicamente una tarea que puede ser ejecutada en paralelo con otra tarea. La principal ventaja que podemos obtener de esta funcionalidad es que se pueden estar haciendo varias cosas al mismo tiempo sin tener que esperar a que se termine una tarea para empezar otra. Para los programadores, PHP 4 incluía un
  25. 25. depurador. Un depurador viene siendo un asistente que nos ayuda a detectar dónde se encuentran los errores en los programas o código de desarrollo. Esto ayuda mucho al programador y le evita quebraderos de cabeza por no poder localizar errores. Gracias al depurador, se podían seguir con mayor profundidad esos errores “misteriosos” que hacían perder mucho tiempo. PHP 5 La principal característica de PHP 5 con respecto a PHP 4 es la mejora en la programación orientada a objetos (POO). Aunque este tipo de programación ya se había introducido en el lenguaje desde PHP 3, las versiones anteriores a PHP 5 tenían bastantes limitaciones para el uso de este tipo de programación. La orientación a objetos es una manera de programar que es muy usada hoy en día. No entraremos en detalles sobre ella de momento, porque es algo avanzado dentro de la programación y en este curso trataremos de avanzar poco a poco desde lo más básico hasta lo más complejo. El principal objetivo de PHP 5 ha sido mejorar los mecanismos de programación orientada a objetos para solucionar las carencias de las anteriores versiones. El resultado ha sido un lenguaje más potente, que cada vez es más popular y que cada vez se usa más, tanto a nivel profesional en empresas como a nivel de usuarios que quieren construir pequeñas páginas o portales web. Algunas personas dicen que PHP se parece cada vez más a Java, que es quizás el lenguaje de programación más usado en el mundo, y que también es un lenguaje de programación orientado a objetos.
  26. 26. ¿QUÉ VERSIÓN DE PHP USAR? La versión de PHP a usar depende en gran medida de qué desarrollo queramos hacer. Por ejemplo, si vamos a usar PHP para el gestor de contenidos Joomla 1.0, no es lo mismo que si vamos a usarlo para Joomla 1.5 porque cada uno tiene sus propias necesidades en cuanto a la versión de PHP a usar. Es decir, cada aplicación debe ir con su versión de PHP adecuada al igual que a un vehículo a motor debemos echarle el tipo de combustible adecuado. Si a un coche diesel le echamos gasolina, no funcionará bien. Si una aplicación que fue concebida para PHP 4 la intentamos ejecutar usando PHP 5, probablemente ocurra lo mismo: no funcionará bien. También debemos tener en cuenta que usar siempre la última versión de algo tiene sus riesgos. Por ejemplo las últimas versiones no suelen estar tan testeadas como las anteriores y se pueden producir „agujeros de seguridad‟ que tendremos que tapar con algún parche. CRÍTICAS A PHP Como cualquier lenguaje de programación, es fácil encontrar en las web opiniones muy críticas hacia PHP, sobre todo en referencia a la seguridad. Al leer estas críticas hay que tener en cuenta que:  PHP ha evolucionado mucho. Muchos defectos del lenguaje han sido corregidos en versiones posteriores, por lo que conviene comprobar si las opiniones que se leen no son opiniones antiguas que ya no tienen sentido. Por el mismo motivo, hay que tener cuidado cuando se leen manuales o tutoriales antiguos, porque pueden estar recomendando técnicas de programación obsoletas.  PHP es extremadamente popular. Muchos programas de PHP han sido escritos por programadores que intentan compensar con su entusiasmo su falta de conocimientos, pero PHP no es un lenguaje intrínsecamente malo o inseguro.
  27. 27. QUE ES EL XAMPP XAMPP es un servidor independiente de plataforma de código libre. Te permite instalar de forma sencilla Apache en tu propio ordenador, sin importar tu sistema operativo (Linux, Windows, MAC o Solaris). Y lo mejor de todo es que su uso es gratuito. XAMPP incluye además servidores de bases de datos como MySQL y SQLite con sus respectivos gestores phpMyAdmin y phpSQLiteAdmin. Incorpora también el intérprete de PHP, el intérprete de Perl, servidores de FTP como ProFTPD ó FileZilla FTP Serve, etc. entre muchas cosas más. Si alguna vez has intentado instalar Apache, sabes que no es una tarea fácil, sin embargo con XAMPP todo es diferente. Una de las ventajas de usar XAMPP es que su instalación es de lo más sencilla, basta descargarlo, extraerlo y comenzar a usarlo. PARA QUÉ SIRVE Como ya lo debes haber deducido, XAMPP es una herramienta de desarrollo que te permite probar tu trabajo (páginas web o programación por ejemplo) en tu propio ordenador sin necesidad de tener que accesar a internet. Si eres un desarrollador que recién está comenzando, tampoco debes preocuparte sobre las configuraciones ya que XAMPP te provee de una configuración totalmente funcional desde el momento que lo instalas (básicamente lo extraes). Sin embargo, es bueno acotar que la seguridad de datos no es su punto fuerte, por lo cual no es suficientemente seguro para ambientes grandes o de producción. Paquetes que vienen con XAMPP Paquetes básicos:  Apache, el servidor Web más famoso.  MySQL, una excelente base de datos de código libre.  PHP y Perl: lenguajes de programación.  ProFTPD: un servidor FTP.  OpenSSL: para soporte a la capa de sockets segura.
  28. 28. Paquetes gráficos:  GD (Graphics Draw): la librería de dibujo de gráficos.  libpng: la librería oficial de referencia de PNG.  libpeg: la librería oficial de referencia de JPEG.  ncurses: la librería de gráficos de caracteres. Paquete de bases de datos:  gdbm: la implementación GNU de la librería standard dbm de UNIX.  SQLite: un motor de base de datos SQL muy pequeño y cero configuración.  FreeTDS: una librería de base de datos que da a los programas de Linux y UNIX la habilidad de comunicarse con Microsoft SQL y Sybase. Paquetes XML:  expat: una librería parser de XML.  Salbotron: una toolkit de XML.  libxml: un parser C de XML y un toolkit para GNOME. Paquetes PHP:  PEAR: la librería de PHP.  Una clase pdf que genera documentos PDF dinámicos con PHP.  TURCK MMCache: un potenciador de la performance de PHP. Otros paquetes:  zlib: una librería de compresión.  mod_perl: empotra un intérprete de Perl en Apache.  gettext: un conjunto de herramientas que asiste a los paquetes GNU para producir mensajes multilingües.
  29. 29. INSTALACIÓN DE XAMPP INSTALACIÓN DE LAS APLICACIONES Nota: Antes de instalar un servidor de páginas web es conveniente comprobar si no hay ya uno instalado. Para ello, es suficiente con abrir el navegador y escribir la dirección http://localhost. Si no se obtiene un mensaje de error es que hay algún servidor de páginas web instalado. Estos apuntes están preparados para la versión XAMPP 1.8.3.2 (del 4 de diciembre 2013), que incluye Apache 2.4.7, PHP 5.5.6, MySQL 5.6.14 y otras utilidades,. Versiones posteriores necesitarán probablemente otros cambios en los archivos de configuración, por lo que se recomienda utilizar XAMPP 1.8.3 si se van a seguir estos apuntes.
  30. 30. Una vez obtenido el archivo de instalación de XAMPP, hay que hacer doble clic sobre él para ponerlo en marcha. Las imágenes que se muestran a continuación corresponden a la instalación de XAMPP 1.8.3.1 en Windows 7 (a partir de XAMPP 1.8.3, XAMPP no se puede instalar en Windows XP ya que PHP 5.5 no se puede instalar en Windows XP). Al poner en marcha el instalador XAMPP nos muestra dos avisos:  El primero aparece si en el ordenador hay instalado un antivirus:  El segundo aparece si está activado el Control de Cuentas de Usuario y recuerda que algunos directorios tienen permisos restringidos:
  31. 31. A continuación se inicia el asistente de instalación. Para continuar, hay que hacer clic en el botón "Next". Los componentes mínimos que instala XAMPP son el servidor Apache y el lenguaje PHP, pero XAMPP también instala otros elementos. En la pantalla de selección de componentes puede elegirse la instalación o no de estos componentes. para este curso se necesita al menos instalar MySQL y phpMyAdmin.
  32. 32. En la siguiente pantalla se puede elegir la carpeta de instalación de XAMPP. La carpeta de instalación predeterminada es C:xampp. Si se quiere cambiar, hay que hacer clic en el icono de carpeta y seleccionar la carpeta donde se quiere instalar XAMPP. Para continuar la configuración de la instalación, hay que hacer clic en el botón "Next". La siguiente pantalla nos ofrece información sobre los instaladores de aplicaciones para XAMPP creados por Bitnami. Para que no se abra la página web de Bitnami, habría que desmarcar la casilla correspondiente. Para empezar la instalación de XAMPP, hay que hacer clic en el botón "Next" en la pantalla siguiente.
  33. 33. A continuación, se inicia el proceso de copia de archivos, que puede durar unos minutos. Una vez terminada la copia de archivos, se muestra la pantalla que confirma que XAMPP ha sido instalado. Hay que hacer clic en el botón "Finish". Para no abrir a continuación el panel de control de XAMPP hay que desmarcar la casilla correspondiente.
  34. 34. EL PANEL DE CONTROL DE XAMPP Y EL CORTAFUEGOS DE WINDOWS El panel de control de XAMPP se divide en tres zonas:  la zona de módulos, que indica para cada uno de los módulos de XAMPP: si está instalado como servicio, su nombre, el identificador de proceso, el puerto utilizado e incluye unos botones para iniciar y detener los procesos, administrarlos, editar los archivos de configuración y abrir los archivos de registro de actividad.  la zona de notificación, en la que XAMPP informa del éxito o fracaso de las acciones realizadas  la zona de utilidades, para acceder rápidamente
  35. 35. Para poner en funcionamiento Apache, hay que hacer clic en el botón Start correspondiente a Apache: Como Apache abre puertos en el ordenador (por primera vez), el cortafuegos de Windows pide al usuario confirmación. Para poder utilizarlo hace falta al menos autorizar el acceso en redes privadas:
  36. 36. Si el arranque de Apache tiene éxito, el panel de control mostrará el nombre del módulo con fondo verde, su identificador de proceso, los puertos abiertos (http y https), el botón "Start" se convertirá en el botón "Stop" y en la zona de notificación se verá el resultado de las operaciones realizadas. Si se abre el programa "Firewall de Windows con seguridad avanzada", en el apartado de Reglas de entrada pueden verse las nuevas reglas añadidas.
  37. 37. Para comprobar que todo funciona correctamente, hay que escribir en el navegador la dirección http://localhost. Al abrir la página por primera vez, XAMPP pedirá seleccionar el idioma: Una vez elegido el idioma, se mostrará la página de configuración de XAMPP:
  38. 38. PANEL DE CONTROL DE XAMPP Al panel de control de XAMPP se puede acceder mediante el menú de inicio "Todos los programas > XAMPP > XAMPP Control Panel" o, si ya está iniciado, mediante el icono del área de notificación. El panel de control de XAMPP se divide en tres zonas:  la zona de módulos, que indica para cada uno de los módulos de XAMPP: si está instalado como servicio, su nombre, el identificador de proceso, el puerto utilizado e incluye unos botones para iniciar y detener los procesos, administrarlos, editar los archivos de configuración y abrir los archivos de registro de actividad.  la zona de notificación, en la que XAMPP informa del éxito o fracaso de las acciones realizadas  la zona de utilidades, para acceder rápidamente
  39. 39. Para cerrar el panel de control de XAMPP hay que hacer clic en el botón Quit: El botón Cerrar en forma de aspa no cierra realmente el panel de control, sólo lo minimiza:
  40. 40. Si se ha minimizado el panel de control de XAMPP, se puede volver a mostrar haciendo doble clic en el icono de XAMPP del área de notificación. Haciendo clic derecho en el icono de XAMPP del área de notificación se muestra un menú que permite mostrar u ocultar el panel de control, arrancar o detener servidores o cerrar el panel de control.
  41. 41. EDITAR ARCHIVOS DE CONFIGURACIÓN Los dos archivos principales de configuración son los archivos httpd.conf (Apache) y php.ini (PHP). Para editarlos se puede utilizar el panel de control de XAMPP, que los abre directamente en el bloc de notas. Para ello hay que hacer clic en el botón "Config" correspondiente a Apache y hacer clic en el archivo que se quiere editar.
  42. 42. INICIAR, DETENER Y REINICIAR SERVIDORES A veces es necesario detener y reiniciar los servidores. Por ejemplo, los archivos de configuración de Apache se cargan al iniciar Apache. Si se modifica un archivo de configuración de Apache (httpd.conf, php.ini u otro) mientras Apache está en marcha, para recargar los archivos de configuración es necesario detener y reiniciar el servidor Apache. Nota: Si al modificar el archivo de configuración hemos introducido errores, el servidor no será capaz de iniciarse. Si no sabemos encontrar el origen del problema, se recomienda restaurar los archivos de configuración originales, de los que se aconseja tener una copia de seguridad. Para poner en funcionamiento Apache (u otro servidor), hay que hacer clic en el botón "Start" correspondiente:
  43. 43. Si el arranque de Apache tiene éxito, el panel de control mostrará el nombre del módulo con fondo verde, su identificador de proceso, los puertos abiertos (http y https), el botón "Start" se convertirá en un botón "Stop" y en la zona de notificación se verá el resultado de las operaciones realizadas. Para detener Apache hay que hacer clic en el botón "Stop" correspondiente a Apache.
  44. 44. Si la parada de Apache tiene éxito, el panel de control mostrará el nombre del módulo con fondo gris, sin identificador de proceso ni puertos abiertos (http y https), el botón "Stop" se convertirá en un botón "Start" y en la zona de notificación se verá el resultado de las operaciones realizadas. Para reiniciar de nuevo Apache habría que volver a hace clic en el botón "Start" correspondiente a Apache.
  45. 45. DESCARGAR E INSTALAR NOD PAD++ Cuando la página haya terminado de cargar, hacemos click en la sección download del menú izquierdo, tal y como se muestra en la siguiente imagen. En la página web que nos aparecerá, descargamos la versión “Installer” actual, por ejemplo Notepad++ v6.9.6.2 Installer.
  46. 46. Una vez descargado el archivo, lo ejecutamos para instalarlo en nuestro ordenador haciendo doble click sobre él. El proceso de instalación es muy simple y entraremos a explicarlo con más detalle. Elegimos el lenguaje que queremos en mi caso español y damos click en ok. Continuamos y damos click en siguiente Se acepta todos los términos de acuerdo, se selecciona aceptar para continuar. Se debe aceptar el término de acuerdo para instalar Notepad++.
  47. 47. El programa de instalación se instalara Notepad++ en el siguiente directorio. Para instalar en un directorio diferente, presione examinar y seleccione otro directorio, presione siguiente para continuar. Marque los componentes que desee instalar y desmarque los componentes que no desee instalar. Presione siguiente para continuar. Se selecciona las características deseadas de Notepad++ para instalar. Y damos click en instalar.
  48. 48. Listo tenemos el Nodpad++ instalado en nuestra pc. Cuando tengamos instalado el programa, ya dispondremos del editor de texto Notepad++, con el que podremos abrir y editar cualquier fichero HTML. Podremos acceder al programa desde Inicio -- > Programas -- > Notepad++ o desde el icono de acceso directo en el escritorio si se ha creado.
  49. 49. HISTORIA Y USO DE APACHE El servidor HTTP Apache es un servidor web HTTP de código abierto, para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.12 y la noción de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Su nombre se debe a que Behelendorf quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de EEUU, y en esos momentos la preocupación de su grupo era que llegasen las empresas y "civilizasen" el paisaje que habían creado los primeros ingenieros de internet. Además Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. En inglés, a patchy server (un servidor "parcheado") suena igual que Apache Server. El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Apache presenta entre otras características altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. Apache tiene amplia aceptación en la red: desde 1996, Apache, es el servidor HTTP más usado. Alcanzó su máxima cuota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios web en el mundo, sin embargo ha sufrido un descenso en su cuota de mercado en los últimos años. (Estadísticas históricas y de uso diario proporcionadas por Netcraft3 ). La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan sólo pueden ser aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar remotamente en ciertas situaciones, o explotar por los usuarios locales malévolos en las disposiciones de recibimiento compartidas que utilizan PHP como módulo de Apache.
  50. 50. Apache es usado principalmente para enviar páginas web estáticas y dinámicas en la World Wide Web. Muchas aplicaciones web están diseñadas asumiendo como ambiente de implantación a Apache, o que utilizarán características propias de este servidor web. Apache es el componente de servidor web en la popular plataforma de aplicaciones LAMP, junto a MySQL y los lenguajes de programación PHP/Perl/Python (y ahora también Ruby). Este servidor web es redistribuido como parte de varios paquetes propietarios de software, incluyendo la base de datos Oracle y el IBM WebSphere application server. Mac OS X integra apache como parte de su propio servidor web y como soporte de su servidor de aplicaciones WebObjects. Es soportado de alguna manera por Borland en las herramientas de desarrollo Kylix y Delphi. Apache es incluido con Novell NetWare 6.5, donde es el servidor web por defecto, y en muchas distribuciones Linux. Apache es usado para muchas otras tareas donde el contenido necesita ser puesto a disposición en una forma segura y confiable. Un ejemplo es al momento de compartir archivos desde una computadora personal hacia Internet. Un usuario que tiene Apache instalado en su escritorio puede colocar arbitrariamente archivos en la raíz de documentos de Apache, desde donde pueden ser compartidos. Los programadores de aplicaciones web a veces utilizan una versión local de Apache con el fin de previsualizar y probar código mientras éste es desarrollado. Microsoft Internet Information Services (IIS) es el principal competidor de Apache, así como Sun Java System Web Server de Sun Microsystems y un anfitrión de otras aplicaciones como Zeus Web Server. Algunos de los más grandes sitios web del mundo están ejecutándose sobre Apache. La capa frontal (front end) del motor de búsqueda Google está basado en una versión modificada de Apache, denominada Google Web Server (GWS).
  51. 51. CONCEPTO DE VARIABLES Una variable de un lenguaje de programación es un elemento que permite almacenar información. En los lenguajes de programación las variables se identifican por su nombre. En PHP el programador puede dar el nombre que quiera a las variables, con algunas restricciones: • Los nombres de las variables tienen que empezar por el carácter $. • A continuación tiene que haber 1 letra (mayúscula o minúscula) o un guión bajo (_). • El resto de caracteres del nombre pueden ser números, letras o guiones bajos. Los nombres de variables pueden contener caracteres no ingleses (vocales acentuadas, eñes (ñ) o cedillas (ç), etc.) pero la costumbre es no utilizarlas. Una variable podría definirse como una posición de memoria creada para introducir o asignar cualquier valor o dato. Durante la ejecución del script el valor de la variable puede "variar"(valga la redundancia) tanto de tipo como de valor. En PHP (al igual que en JavaScript) no hace falta declarar la variable ya que simplemente anteponiendo el carácter $ al nombre de la variable estamos indicando que es una variable. En los nombres de las variables, PHP distingue entre mayúsculas y minúsculas, es decir, si se cambia algún carácter de mayúscula a minúscula o viceversa, para PHP se tratará de variables distintas. Para facilitar la comprensión del programa, se aconseja que los nombres de las variables hagan referencia a la información que contienen. Por ejemplo, si se va a guardar en una variable la edad del usuario, un nombre adecuado de la variable sería por ejemplo $edad. Si el nombre de la variable contiene varias palabras, se aconseja utilizar la notación "camel case", es decir, escribir la primera palabra en minúsculas y la primera letra de las siguientes palabras en mayúsculas. Por ejemplo, si se van a guardar en varias variables las edades del usuario y la de sus padres y abuelos, unos nombres adecuados podrían ser $edadUsuario, $edadPadre, $edadMadre, $edadAbueloPaterno, etc.
  52. 52. USAR VARIABLES Las variables en PHP son representadas con un signo de dólar ($) seguido por el nombre de la variable. El nombre de la variable es sensible a minúsculas y mayúsculas. Es decir, las siguientes declaraciones de variables son distintas entre ellas: $variable, $Variable, $variable, $variable, etc. representan a distintas variables. Recordar que una variable es un espacio de la memoria del ordenador (en este caso del servidor) a la que asignamos un contenido que a grandes rasgos puede ser un valor numérico (sólo números, con su valor de cálculo) o alfanumérico (sólo texto o texto con números). Para declarar un nombre de variable válido, éste tiene que empezar con una letra (o si no empieza con una letra, tendrá que hacerlo con un carácter de subrayado), seguido de cualquier número de letras, números y caracteres de subrayado Posible nombre de variable Validez $4variable Nombre de variable inválido. $_4variable Nombre de variable válido. $variable4 Nombre de variable válido. $otra Nombre de variable válido. $1_otra Nombre de variable inválido. $variable_de_nombre_muy_largo Nombre de variable válido. $ A B C Nombre de variable inválido. $A_y_B_x_C Nombre de variable válido.
  53. 53. Cuando el intérprete PHP detecta un error en la sintaxis al declarar una variable, cuando tratamos de acceder a la página php nos aparecerá un mensaje de error. Por ejemplo si en un archivo php incluimos una línea como $ A B C = 5; donde el nombre de variable es inválido ya que tiene espacios intermedios, nos aparecerá un mensaje de error: Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE or '$' in /home/miraiz/domains/midominio.com/public_html/prueba.php on line 3. Este mensaje nos informa de que hay un problema en el archivo php y nos indica la línea donde el intérprete considera que está el problema. A continuación vamos a citar ejemplos de variables: IMPRIMIR HOLA MUNDO PRESENTACION EN PANTALLA
  54. 54. IMPRIMIR EN PANTALLA UN NOMBRE PRESENTACION EN PANTALLA IMPRIMIR EN PANTALLA MI PRIMER PROGRAMA EN PHP PRESENTACION EN PANTALLA
  55. 55. OPERADORES DE ASIGNACIÓN Y DE IGUALDAD ASIGNACIÓN (=) El operador de asignación es "=". Se podría pensar que es como un "igual a". No lo es. El operador igual en programación no tiene el mismo sentido que en matemáticas. En programación, significa que el valor de la expresión de la derecha se establece en el operando de la izquierda. EJEMPLO: PRESENTACION EN PANTALLA IGUALDAD (==) El comparador de igualdad es ==. Como su propio nombre indica, sirve para comparar dos valores o variables y no para asignar valores. Este operador devuelve el resultado de la operación lógica de 'igual a' tal y como podemos apreciar en el siguiente ejemplo.
  56. 56. PRESENTACION EN PANTALLA TIPOS DE DATOS En PHP no es necesario indicar el tipo de datos al que pertenece una variable, sino que son asumidos directamente por el intérprete PHP, que es el encargado de interpretar el código. Ahora veremos en una tabla los distintos tipos de datos que se pueden usar en PHP. TIPO DE DATO DEFINICIÓN integer Los integers, o enteros, pueden tener distintos valores numéricos enteros que se expresan con diferentes notaciones. $variable = 18; // Número entero positivo $variable = -18; // Número entero negativo $variable = 0x12; // Notación hexadecimal, es igual a 18 decimales float o double Este tipo de datos son los números de punto flotante a los que normalmente llamamos “números decimales”, por ejemplo, 9.876. La sintaxis para utilizarlos es bastante simple: $variable = 9.876; string El tipo de datos string, también conocido como cadena de caracteres, se expresa con la siguiente sintaxis: $variable = "Yo soy una cadena"; boolean Se trata de un tipo lógico. Sus posibles valores son TRUE o FALSE. $variable = true; $variable = false;
  57. 57. INSTRUCCIÓN ECHO Esta instrucción PHP hace que se muestre por pantalla un texto, una variable, o una combinación de texto y variables. Crea un archivo php con el siguiente código, ponle un nombre como usoDeEcho.php y súbelo al servidor. Luego invócalo usando una ruta como http://localhost/ejercicios/usoDeEcho.php. La visualización en tu navegador deberá ser similar a esta. Puede variar ligeramente dependiendo del navegador que uses. Ten en cuenta que $a se muestra por pantalla como 5 porque el intérprete de PHP considera que debe mostrarse siempre el valor de la variable, incluso si va dentro de un texto. Prueba a escribir la siguiente línea: echo " El valor de la variable $a es $a."; Comprobarás que se muestra por pantalla “salida por pantalla. 5 El valor de la variable $a es 5.” Cuando antecedemos un nombre de variable del carácter hacemos que se interprete como texto en lugar de como una variable. El carácter se suele llamar “carácter de escape”.
  58. 58. CONCATENACIÓN DE CADENAS DE CARACTERES Las cadenas, como ya sabemos, son un tipo de dato; concretamente una sucesión de caracteres; y que pueden ser número, letras o símbolos. En PHP toda cadena debe ir entre comillas; pudiendo ser comillas simples o comillas dobles según la necesidad lo requiera. En esta lección vamos a conocer las cadenas con un poco más de profundidad. Veremos como operar con ellas de forma básica; y como trabajar con ellas junto con las variables. El resultado que mostrará el navegador será el número es 8; ya que 8 es el valor de la variable que hemos escrito dentro de la cadena. Ahora, si sustituyes las dobles comillas por comillas simples, el resutlado cambia ael número es $número. Cuando escribimos cadenas con comillas simples PHP interpreta que queremos escribir de forma literal, por eso no muestra el valor de la variable. PRESENTACION EN PANTALLA
  59. 59. LA CONCATENACIÓN Esta técnica sirve para unir dos o más datos; por ejemplo dos cadenas, o una cadena y una variable. Para concatenar tenemos que hacer uso de un operador, este operador se escribe poniendo un punto. Veamos un ejemplo donde concatenamos dos cadenas a través de variables: l resultado que debe aparecer en el navegador es: esto es una cadena y es otra cadena. Como vez en la sentencia echo, hemos juntado las dos cadenas a través del punto, que es el operador de la concatenación. También hay que darse cuenta que se ha dejado una espacio al principio de la segunda cadena para que, al aparecer las dos concatenadas, se respeten todos los espacios entre palabras. EJEMPLOS
  60. 60. PRESENTACIÓN EN PANTALLA CONCATENAR NOMBRE Y FECHA PRESENTACIÓN EN PANTALLA OPERACIONES ARITMETICAS EN PHP Suma, Resta, Multiplicación, División. 1. Suma
  61. 61. PRESENTACION EN PANTALLA RESTA PRESENTACION EN PANTALLA MULTIPLICACIÓN
  62. 62. PRESENTACION EN PANTALLA DIVICION PRESENTACION EN PANTALLA
  63. 63. CONCEPTO ESTRUCTURAS SELECTIVAS Las estructuras, tanto en PHP como en otros lenguajes de programación, permiten realizar acciones en el programa en las que intervienen una o varias sentencias. Una estructura es un bloque del programa que debe comportarse de una determinada manera, la cual también definimos. La mayoría de las estructuras tienen la siguiente forma: Nombre (forma de comportarse) {sentencias a las que afecta } Nombre es el nombre que tiene el tipo de estructura y es siempre una palabra clave; en forma de comportarse introduciremos los datos necesarios para que la estructura funcione, siempre entre paréntesis; y en sentencias a las que afecta introduciremos las sentencias a las que afecta esta estructura, las cuales se escriben entre corchetes. ESTRUCTURA CONDICIONAL "IF" En una estructura condicional en "(forma de comportarse)" se indica una condición. si ésta se cumple el programa ejecutará las sentencias incluidas entre corchetes, si no es así puede que no haga nada o que ejecute otra acción distinta, dependiendo de lo que se le indique. La estructura condicional más sencilla es la estructura if. Esta es la misma que en el lenguaje Javascript, y tiene la siguiente forma: En ("condición") pondremos una sentencia en la que comprobamos mediante un operador condicional si se cumple o no una cierta condición.
  64. 64. Como podemos ver aquí, los operadores condicionales son imprescindibles para definir la condición, podemos usar también operadores lógicos, asociados con los condicionales: El siguiente paso es definir la sentencia o sentencias a que se ejecutarán en el caso de que la condición se cumpla: Podemos dejar la estructura así si queremos que el programa no haga nada cuando la condición no se cumple. Pero si queremos que cuando la condición no se cumple se ejecute un código distinto, añadiremos la palabra else seguida del código entre corchetes: Veamos todo el código anterior ordenado:
  65. 65. PRESENTACION EN PANTALLA Fíjate en cómo hemos puesto los tabuladores, y los espacios, aunque en realidad podemos ponerlos con cualquier otra distribución, ésta es la que más se suele usar, ya que permite una mayor claridad para ver el código, y para poder añadir posteriormente más sentencias dentro de cada corchete. Es recomendable seguir unos buenos hábitos desde el principio y acostumbrarnos a escribir el código de las estructuras de esta manera. La sentencia if, es condicional y valida que se cumpla cierto criterio o condición. Este ejemplo imprime en el navegador un texto si se cumple con la condición.
  66. 66. PRESENTACION EN PANTALLA SENTENCIA CONDICIONAL – ELSE La sentencia else, es condicional y se usa cuando no se cumple la sentencia if o la sentencia else if. La sentencia condicional "else" se utiliza como extensión de la sentencia "if". Si la condición falla, entonces se ejecuta otra sentencia bajo la condición "else". Este ejemplo imprime en el navegador un texto si se cumple con la condición y si no imprime otro texto.
  67. 67. PRESENTACION EN PANTALLA SENTENCIA ELSE-IF La sentencia else-if, es condicional y se coloca después de la sentencia If, ya que si no se cumple el if se ejecuta esta. La sentencia else/ if se utiliza como extensión de la estructura "If", si la condición falla, entonces se ejecuta otra condición "If" para ejecutar el segmento de código en la sentencia"elseif". Este ejemplo imprime en el navegador un texto si se cumple con la condición y si no evalúa otra condición e imprime un texto.
  68. 68. PRESENTACION EN PANTALLA
  69. 69. SENTENCIAS REPETITIVAS Concepto de bucle.- Un bucle es una estructura que hace que un código determinado pueda repetirse un cierto número de veces. Puede haber algunas variables que cambien de valor en cada repetición, con lo que en cada vuelta del bucle obtendremos un resultado distinto, aunque parecido al anterior. Definir el número de veces que se repite el bucle depende de cada tipo de estructura, aunque lo normal es que haya una variable que cambia con cada repetición. Hay también una condición que debe cumplirse para que el bucle se repita. Por tanto haremos que la condición dependa del valor de la variable, de manera que cuando la variable no tenga el valor indicado, el bucle deja de ejecutarse. SENTENCIA FOR La sentencia for es una sentencia repetitiva, es decir se va a ejecutar las veces que se especifiquen, formando un bucle. Este ciclo es uno de los más usados para repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta. Su formato general es: for (inicialización; condición; incremento){ instrucción(es); }; Ejemplo: Este ejercicio imprime en el navegador del número 1 al 10.
  70. 70. PRESENTACIÓN EN PANTALLA. SENTENCIA WHILE La sentencia while es una sentencia repetitiva, es decir se va a ejecutar las veces que se especifiquen, formando un bucle, así mismo se le da una condición, es decir ejecuta código mientras se cumpla cierta condición.El bucle while es el más sencillo, su sintaxis es la siguiente. Mientras se cumpla la condición el bucle repetirá las sentencias indicadas entre llaves. Lo normal es que dentro de las sentencias a ejecutar haya una variable que controla el bucle, es decir que hace que el bucle se repita. Esta variable debe cambiar en cada repetición, de manera que llegue un momento en que la condición no se cumpla, y podamos salir del bucle. Ejemplo: Este ejercicio imprime en el navegador del número 1 al 10.
  71. 71. PRESENTACIÓN EN PANTALLA. SENTENCIA DO-WHILE: La sentencia do-while es una sentencia repetitiva, es decir se va a ejecutar las veces que se especifiquen, formando un bucle, así mismo se le da una condición, es decir ejecuta código y luego evalúa la condición. Como una variante del bucle while está el bucle do while. La diferencia con el bucle while es que aquí las sentencias del bucle se ejecutarán siempre al menos una vez, aunque no se cumpla la condición. Este bucle tiene la siguiente sintaxis: Abrimos el bucle con la palabra clave do para poner a continuación las sentencias entre corchetes, después ponemos la palabra clave while con la condición entre paréntesis. Lo de poner la condición al final del bucle es lo que hace posible que éste se pueda ejecutar siempre al menos una vez. Veamos un ejemplo: Este ejercicio imprime en el navegador del número 1 al 10.
  72. 72. PRESENTACIÓN EN PANTALLA.
  73. 73. COMPONENTES HTML USO Y FUNCIONAMIENTO DEL FORM HTML Un formulario HTML es una sección de un documento que contiene contenido normal, código, elementos especiales llamados controles (casillas de verificación (checkboxes), radiobotones (radio buttons), menúes, etc.), y rótulos (labels) en esos controles. Los usuarios normalmente "completan" un formulario modificando sus controles (introduciendo texto, seleccionando objetos de un menú, etc.), antes de enviar el formulario a un agente para que lo procese (p.ej., a un servidor web, a un servidor de correo, etc.) Aquí se muestra un ejemplo de un formulario simple que incluye rótulos, radiobotones y botones para reinicializar el formulario o para enviarlo: EJEMPLO PRESENTACION EN PANTALLA
  74. 74. Excepto las partes de htmlspecialchars() y de (int), debería ser obvio qué es lo que hace el código. htmlspecialchars() se asegura de que cualquier carácter que es especial en html sea codificado adecuadamente, de manera que nadie pueda inyectar etiquetas HTML o Javascript en la página. El campo edad, ya que sabemos que es un número, podemos convertirloa un valor de tipo integer que automáticamente se deshará de cualquier carácter no numérico. También se puede hacer lo mismo con PHP con la extensión filter. Las variables $_POST['nombre'] y $_POST['edad'] son establecidas automáticamente por PHP. Anteriormente hemos usado la superglobal $_SERVER; arriba introdujimos la superglobal$_POST, la cual contiene todos los datos de POST. Observe que el método de nuestro formulario es POST. Si hubiésemos usado el método GET, nuestra información estaría en su lugar en la superglobal $_GET. También se podría usar la superglobal $_REQUEST, si no le preocupa la fuente de los datos solicitados. Contiene toda la información mezclada de los datos de GET, POST y COOKIE. En PHP, también puede tratar con entradas de XForms; aunque probablemente al principio se sienta cómodo con los formularios de HTML, los cuales están ampliamente respaldados. A pesar de que trabajar con XForms no es para principiantes, podrían interesarle. Si es así, en la sección de características hay una pequeña introducción a la manipulación de datos recibidos desde XForms. Los formularios son objetos; tienen sus propios métodos propiedades y manejadores de eventos. Uno de los manejadores de eventos que debería conocer es onSubmit. OnSubmit obtiene todo lo llamado en dos situaciones: si un usuario presiona sobre el botón de submit, o si un usuario presione <return> dentro de un campo de texto. Si estas acciones no son administradas en algún modo, su JavaScript puede comportarse diferente de lo esperado. En la Parte A del ejemplo28_0.html, presione el botón Enviar o si presiona<return> sobre un campo de texto.
  75. 75. USO Y FUNCIONAMIENTO DEL TEXT HTML HTML nos permite definir el formato de visualización del texto en la pantalla. Muy útil para cuando queramos resaltar o enfatizar un texto en especial. También muy usado para subrayar o escribir subíndices o superíndices. Estos, son solo algunos ejemplos de lo que podemos hacer con estos elementos. ETIQUETAS PARA DAR FORMA AL TEXTO Etiquetas Descripción <b> Define un texto en negrita <big> Define un texto grande <em> Define un texto enfatizado <i> Define un texto en itálica <small> Define un texto pequeño <strong> Define un texto fuerte <sub> Define un texto subíndice <sup> Define un texto superíndice <ins> Define un texto subrayado <del> Define un texto tachado <tt> Define un texto de teletipo <s> Define un texto tachado. Desaprobado. Use <del> en su lugar <strike> Define un texto tachado. Desaprobado. Use <del> en su lugar <u> Define un texto subrayado. Desaprobado. Use <ins> en su lugar ETIQUETAS DE "TEXTO ESTRUCTURADO" Estas etiquetas son usadas comúnmente para mostrar códigos de programación. Etiquetas Descripción <code> Define un texto en código de computadora <kbd> Define un texto del teclado
  76. 76. <samp> Define un texto ejemplo de código de computadora <var> Define una variable <pre> Define un texto preformateado <listing> Desaprobado. Use <pre> en su lugar <plaintext> Desaprobado. Use <pre> en su lugar <xmp> Desaprobado. Use <pre> en su lugar ETIQUETAS DE CITACIONES Y DEFINICIONES Etiquetas Descripción <abbr> Indica una forma abreviada (p.ej., WWW, HTTP, etc.) <acronym> Indica un acrónimo (p.ej., WAC ,radar, autobús, etc.) <address> Define la información sobre el autor <bdo> Define la dirección del texto (p.ej., de izq. a der., de der. a izq.) <blockquote> Designa una cita larga <q> Designa una cita corta <cite> Contiene una cita o una referencia a otras fuentes <dfn> Indica que aquí es donde se define el término encerrado
  77. 77. USO Y FUNCIONAMIENTO DEL CHECKBOX. Los "checkboxes" nos permiten seleccionar varias opciones marcando el cuadrito que aparece a su izquierda. El cuadrito pulsado equivale a un "sí" y sin pulsar a un "no" o, lo que es lo mismo, a "true" o "false". Propiedades checked. Valor booleano que nos dice si el checkbox está pulsado o no defaultChecked. Valor booleano que nos dice si el checkbox debe estar seleccionado por defecto o no name. Es una cadena que contiene el valor del parámetro NAME. value. Es una cadena que contiene el valor del parámetro VALUE. type. Especifica el tipo en este caso checkbox. disabled. Permite deshabilitar cada uno de los checkbox. Métodos click(). Realiza la acción de pulsado del botón blur(). Pierde el foco del ratón sobre el objeto especificado. focus(). Obtiene el foco del ratón sobre el objeto especificado. input: para agregar un campo al formulario type=”checkbox”: para especificar que es una casilla de verificación name=”tema[]“: es importante que todas las alternativas tengan el mismo nombre, para luego poder recibir los valores del checkbox en el script php y saber cuáles fueron las opciones tildadas por el usuario. En este caso el nombre es “tema”, los corchetes que aparecen luego son necesarios.
  78. 78. EJEMPLOS RECIBIR EN PHP PRESENTACION EN PANTALLA RESULATADO
  79. 79. USO Y FUNCIONAMIENTO DEL RADIO BUTTON. Afortunadamente, radio buttons son similares a los checkbox . La única diferencia real está en el HTML. Checkboxes son dispositivos on/off. Si un checkbox está tildado, lo puede desmarcar o viceversa. Radio buttons son diferente. Una vez que un radio button está encendido (on), permanecerá en ese estado hasta que otro sea seleccionado. En ese momento el primero entra en off. EJEMPLO RADIO BUTTON RECIBIR EN PHP PRESENTACION EN PANTALLA
  80. 80. RESULTADO EJEMPLO2 FORMULARIO RECIBIR EN PHP
  81. 81. PRESENTACIOPN EN PANTALLA RESULTADO
  82. 82. USO Y FUNCIONAMIENTO DEL SELECT. Los Selects son los elementos más extraños dentro de los formularios. Existen dos clases primarias, menús y listas. FORMULARIO RECIBIR EN PHP PRESENTACION EN PANTALLA
  83. 83. RESULTADO Esto funciona debido a que los elementos select tienen las propiedades de las opciones en un arreglo. Puede buscar una de las opciones en el arreglo y modificar su propiedad. Trate de hacer esto y luego busque en el menú para ver que realmente haya cambiado. Cuando se elige una opción en el select, la propiedad selectedIndex será el valor del arreglo de la opción seleccionada. Para verificar esto elija una de las opciones de la lista. Recuerde que las opciones comienzan desde el valor cero. Como cualquier otro elemento, el elemento select tiene un manejador: onChange(). Éste es llamado cada vez que se produce un cambio en el select. Establecer el foco a un determinado elemento Es cómodo cuando uno ingresa a una página, que el primero elemento quede en foco, sin la necesidad de tener que ponerlo en foco por medio del mouse. Como ocurre cuando uno ingresa a Google, el texto automáticamente queda en foco.
  84. 84. USO Y FUNCIONAMIENTO DEL IMG. El uso de imágenes es uno de los factores que ha popularizado tanto World Wide Web. Incluir imágenes en una presentación web es muy sencillo, solo debe de tener en cuenta que las imágenes tienen que tener los formatos GIF, JPEG o PNG. Las imágenes en línea, se especifican a partir de la tag <img>que no tiene una tag correspondiente de cierre pero que puede acompañarse de los siguientes atributos: src= Este atributo es obligatorio e indica el nombre del archivo de imagen (entre comillas) o la URL que se va a representar. Align= Permite controlar la alineación de una imagen con respecto a una línea de texto adyacente o a otras imágenes en esa línea. Los tres valores posibles son los ya conocidos left, right, top, middle ybottom. Alt = Es la alternativa que se estableció cuando todavía existían visualizadores de solo texto. Entre comillas podremos escribir un texto que suplantara a esta imagen si no se carga o mientras se carga o cuando, visualizando ya la imagen, pasamos el ratón por encima. WIDTH= Este atributo es opcional pero es recomendable ponerlo para ayudar al navegador a representar la imagen, significa el ancho de la imagen que vamos a representar. HEIGHT=Al igual que el atributo WIDTH, es opcional y recomendable ponerlo, este significa el alto de la imagen. BORDER= Con BORDER especificamos el ancho de un borde que rodea la imagen. EJEMPLO FORMULARIO
  85. 85. PRESENTACION EN PANTALLA EJEMPLO PRESENTACION EN PANTALLA
  86. 86. El "texto alternativo" se denomina así porque supone una verdadera alternativa al gráfico. Hay que tener en cuenta la posibilidad de que el navegador que visite nuestra página tenga desactivada la opción de "ver imágenes" (¡o incluso un error en el enlace por nuestra parte!), en cuyo caso sólo aparecería dicho texto. En condiciones "normales", el texto alternativo posee la función de un pie de foto, puesto que aparece al posar el cursor sobre la imagen. El tamaño de la imagen puede modificarse, efectivamente, con <IMG width="¿?" height="¿?">, Pero hay que tener en cuenta que los valores que señalemos aquí no alteren las proporciones de la imagen original. En cualquier caso, como norma general, es mejor efectuar todos los ajustes necesarios en un programa de edición gráfica (Paint Shop Pro, Photoshop, etc.). Los ajustes de <IMG align> pueden referise a la línea de texto o al párrafo: Una imagen pequeña (como un icono) puede presentarse dentro de una línea de texto. En este caso, puede alinearse justo sobre la línea del texto (<IMG align="top">), debajo (<IMG align="bottom">) o en el medio (<IMG align="middle">). Una imagen puede colocarse dentro de un párrafo, de modo que el texto se presente a la izquierda (<IMG align="right">) o a la derecha (<IMG align="left">) de la imagen.
  87. 87. USO Y FUNCIONAMIENTO DEL TEXTAREA. El elemento HTML textarea inserta un control de entrada de texto multilínea en un documento o formulario. A diferencia del elemento HTML input, con el atributo "type" establecido a "text", este control puede aceptar más de una línea de texto como entrada. Esta característica especial, hace de este elemento una buena elección a la hora de requerir comentarios o mensajes. Este elemento está destinado a recolectar información provista por el usuario. Una vez llenado, el contenido de este control puede ser enviado por el mismo y luego recibido por el agente procesador, quien manejará la información como sea requerido. Nota que el contenido de este control representa el valor inicial del control. EJEMPLOS CÓDIGO VISTA MENSAJE: LUIS CALEROROMERO PORTAFOLIODEOPTATIVA ING. HECTORMENAJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ ATRIBUTOS id (name).- El atributo "id" asigna un identificador al elemento asociado. Este identificador debe ser único en todo el documento y puede ser usado para referirse a este elemento en otras instancias (por ejemplo, desde un script del lado cliente).
  88. 88. STYLE (STYLE) Este atributo es utilizado para definir atributos presentacionales para el elemento contenedor, y su valor debería estar compuesto por propiedades de hojas de estilo. Aunque en algunos casos es particularmente útil, es una mejor práctica poner los atributos presentacionales en archivos externos, relacionándolos a los elementos a través del atributo "class". De este modos, se mejora la separación de las partes semántica y presentacional de tu documento. Al escribir documentos XHTML 1.0, el atributo usado para especificar el lenguaje de un elemento es "xml:lang". Para compatibilidad con los dos tipos de estándar ambos atributos pueden ser usados simultáneamente como en el ejemplo a continuación. Nota que en XHTML 1.1, el atributo "lang" ha sido completamente reemplazado por "xml:lang" y su uso ya no es válido. PRESENTACION EN PANTALLA Este atributo indica la dirección en que el texto del elemento debe ser leído. Esto incluye al contenido, los valores de los atributos y las tablas. Tiene dos valores posibles que son insensibles a mayúsculas/minúsculas: Cuando este atributo booleano está presente, los usuarios están imposibilitados para cambiar el control del contenido. Sin embargo, los controles "readonly" pueden recibir el enfoque y son enviados con el formulario.
  89. 89. Recuerda que en HTML, los atributos booleanos debe tomar su propio nombre como valor (por ejemplo, nombreatributo="nombreatributo"). CÓDIGO Los comentarios no pueden ser editados en esta etapa!</textarea> VISTA Como con el atributo "readonly", los usuarios no podrán cambiar el contenido del control cuando este atributo esté presente. Además, el control no podrá recibir el enfoque y su información no será enviada con el formulario. Los navegadores habitualmente muestran los controles visuales de manera diferente, como si fueran semitransparentes, con una combinación de colores grises. Recuerda que en HTML, los atributos booleanos debe tomar su propio nombre como valor (por ejemplo, nombreatributo="nombreatributo"). CÓDIGO Los comentarios no pueden ser editados en esta etapa!</textarea>
  90. 90. VISTA LUIS CALERO ROMERO TABINDEX (NUMBER) Especifica la posición de este elemento en el orden de tabulación. El orden de tabulación define una secuencia con todos los elementos que pueden recibir el enfoque. Los usuarios pueden navegar esta secuencia mediante el teclado (usualmente con la tecla "tab"). PRESENTACION EN PANTALLA ACCESSKEY (CHARACTER) Relaciona al elemento con una tecla. La mayoría de los navegadores permite acceder al elemento presionando dicha tecla mientras se mantiene presionada la tecla "alt". El resultado de la activacióndepende de la naturaleza del elemento. Para vínculos, esta acción automáticamente sigue el vínculo, mientras que otros elementos simplemente reciben el enfoque.
  91. 91. PRESENTACION EN PANTALLA
  92. 92. USO Y FUNCIONAMIENTO DEL CAMPO OCULTO. Los campos ocultos son un tipo de control que únicamente sirve para incluir información adicional entre los datos del formulario. Este tipo de control es invisible, y por tanto el navegador no muestra ningún tipo de gráfico para advertir de su existencia. ¿Para qué sirve entonces un control oculto?. Si no aparece en la página y el navegante no puede hacer nada con él ¿Cuál es su función?. En general, los campos ocultos se usan para enviar información específica al programa del servidor Web que procesará los datos enviados, por ejemplo si este programa es capaz de realizar varias funciones distintas con estos datos, podemos usar un campo oculto para pasarle la información de que debe hacer con los datos de este formulario concreto (debemos tener en cuenta que este mismo programa puede procesar la información de otros formularios también). Aun así esta problemática queda fuera de lo que pretendemos abarcar en esta sección dedicada al lenguaje HTML. Los campos ocultos se crean usando la etiqueta INPUT con TYPE="hidden". Además debemos usar los atributos VALUE y NAME, para indicar los datos y su nombre: EJEMPLO: RECIBIR ARCHIVO. PHP
  93. 93. PRESENTACION EN PANTALLA
  94. 94. USO Y FUNCIONAMIENTO DEL PASSWORD. Este control actúa exactamente como el de entrada de línea con la excepción de que "esconde" los caracteres ingresados mostrándolos como puntos o asteriscos para evitar que los usuarios ven su contenido. Es definido utilizando el valor "pass" en el atributo "type", y su valor inicial puede ser definido usando el atributo "value". Es comúnmente usado para el ingreso de contraseñas. VISTA EN PANTALLA El valor pasado al agente procesador será el texto ingresado por el usuario, es decir, el contenido de la caja de texto.
  95. 95. USO Y FUNCIONAMIENTO DE TABLAS. Las tablas se usan con profusión en las páginas Web, muchas veces debido a que son el único instrumento con el que se cuenta, para asegurarse que las cosas estarán en su sitio. Para definir una tabla se usan las etiquetas: La tabla se va definiendo declarando una fila y a continuación las celdas que contiene esa fila, luego otra fila y sus celadas, etc. No es necesario que todas las filas contengan el mismo número de celdas. La tabla (2x2) más sencilla que podemos hacer es la siguiente PRESENTACION EN PANTALLA El resultado no es muy brillante, pero vamos a ir viendo las distintas posibilidades que tenemos para mejorarlo. Atributos de la etiqueta TABLE
  96. 96. Todos los atributos son opcionales BORDER="4". Indica el tamaño del borde en píxels, en este caso 4. Si no se indica nada carece de borde WIDTH="5" o WIDTH="50%". Es el ancho de la tabla, puede especificarse en valor absoluto (5 píxeles) o como un porcentaje (50% del ancho disponible) CELLSPACING="2". Es el espacio entre las celdas, por defecto es 2 CELLPADDING="5". Es el espacio entre el contenido de las celdas y el borde de las mismas, por defecto es 1 ALIGN=" left", "right", "center". Alinea la tabla a la izquierda , derecha o en el centro. EJEMPLO PRESENTACIÓN DE TABLA Atributos de las etiquetas de fila y celda
  97. 97. Las etiquetas que soportan las filas y las celdas son. WIDTH="30". Ancho de toda la fila o celda. También se puede dar en % ALIGN=" left", "right", "center". Alinea el contenido a la izquierda, derecha o centro VALIGN="top" , "middle" o "bottom". Alinea el contenido verticalmente arriba, en medio o abajo BGCOLOR="#AACCEE". Pone un fondo del color especificado a la celda o fila COLSPAN=3. Especifica el número de columnas que abarca la fila ROWSPAN=2. Especifica el número de filas que abarca la columna EJEMPLO. PRESENTACION DE TABLA EN PANTALLA
  98. 98. VECTORES ARRAYS BÁSICOS O TRADICIONALES EN PHP Un array es un conjunto de variables de una misma clase. Se accede a cada elemento individual del array mediante un número entero denominado índice. 0 es el índice o localizador del primer elemento y n-1 es el índice del último elemento, siendo n, la dimensión del array. Así $empleado [23] representaría al empleado con localizador 23 como veremos a continuación. Los arrays son muy utilizados en la programación. Dependiendo de la cantidad de dimensiones que tengan pueden ser:  De una dimensión (vectores). Por ejemplo $empleado[23]  De dos dimensiones (matrices). Por ejemplo $butaca[3, 14]  De tres o más dimensiones (multidimensionales). Por ejemplo $fecha[2012, 9, 22] Para acceder a los elementos del array se utilizan los corchetes [], dentro de los cuales existirá un localizador o índice que es un número entero. Además, podemos guardar valores de cualquier tipo de variable (string, entero, punto flotante, booleano) dentro de un array. Por ejemplo $empleado [23] podría tomar como valor $empleado [23] = “Juan Pérez Suárez”. En este caso se trataría de un array de cadenas de texto, es decir, un array de string. En otro caso $empleado [23] podría tomar como valor $empleado [23] = 2312. En este caso se trataría de un array de valores numéricos. En algunos lenguajes es necesario declarar los arrays antes de poder utilizarlos, pero en PHP no es necesario. Cuando se definen elementos de un array, PHP reconoce automáticamente que se trata de un array sin necesidad de declaración previa.
  99. 99. Se define a un arreglo como un grupo de elementos relacionados entre sí por medio de índices. Los arreglos pueden ser de una o más dimensiones, los de una dimensión, son llamados comúnmente "vectores". VECTORES (ARRAYS DE UNA DIMENSIÓN) Los vectores son los arrays que sólo contienen una dimensión. Escribe ahora este código y guárdalo con un nombre de archivo como ejemplo1.php. A continuación, sube el fichero al servidor y visualiza el resultado. EJEMPLOS PRESENTACION EN PANTALLA La forma general de uso de un array es: $nombreDeVariableArray [localizador] = valorAsignado; Ten en cuenta que lo que diferencia a una variable que pertenece a un array (conjunto de variables) es la presencia del corchete con un índice en su interior.
  100. 100. PHP admite también otra posibilidad que no admiten otros lenguajes: se pueden usar arrays sin especificar los números de los índices, ya que PHP los puede colocar automáticamente. PRESENTACION EN PANTALLA Fíjate que PHP ha colocado automáticamente los índices, asignando el 0 a Sevilla, el 1 a Madrid, el 2 a Barcelona y el 3 a Valencia. Hay que recordar que los arrays siempre comienzan numerándose desde cero.
  101. 101. Otra forma de asignar valores a un array vector es la siguiente: PRESENTACION EN PANTALLA Como ves, esta es una forma abreviada cuya forma general es: $nombreDelArray = array (valorElemento0, valorElemento1, valorElemento2,…, valorElemento3) El término array es una palabra clave en PHP cuyo significado es equivalente a decir “los elementos que aparecen en la lista a continuación son elementos de un array”. Un vector, en lenguajes de programación, no es lo mismo que un vector en matemáticas. Un vector (o array) en php es un conjunto de datos. Se declara como el resto de variables, pero al final de la variable lleva dos corchetes ([ ]) donde se indica la posición del vector a la que acceder. Hay algunas funciones relacionadas con los vectores:
  102. 102.  Array ("elemento1","elemento2"). Como ya hemos visto, sirve para añadir elementos a un vector.  Reset ($vector). Sirve para poner el puntero al inicio del vector. El puntero es el que contiene la información sobre la siguiente posición del vector a la que corresponde acceder.  Key ($vector). Contiene la posición actual del puntero del vector.  Next ($vector). Avanza la posición del vector al siguiente elemento. En caso de no haber más elementos, devuelve false.  Count ($vector). Devuelve el número de elementos de un vector. En un vector ordenado, estas funciones no son necesarias, pero en un vector desordenado, o por ejemplo, en un vector como el último caso, donde las posiciones no vienen dadas por números, si no por nombres, necesitamos utilizar esas funciones. Al igual que existe la función reset y next, también existe la función end, que mueve el puntero a la última posición del vector, y la función prev, que lleva el puntero a la posición anterior a la actual. Otra forma de recorrer los vectores, es mediante los comandos list y each. Veamos su uso:
  103. 103. PRESENTACION EN PANTALLA Esta vez, hemos usado una única expresión: list($i,$valor)=each($lugar). El comando list recibe dos variables, una para el contador del puntero del vector y otra que contiene el valor del vector en cada una de las posiciones de este. Es decir, en $i se guarda la posición actual del vector, y en $valor se guarda el contenido de la posición $i del vector, que se lo hemos pasado a la función each, en este caso $lugar. La función completa, de forma genérica, sería list($posicion_vector,$valor_vector)=each($vector). La expresión $valor, dentro del bucle, se puede sustituir por $lugar[$i], aunque no es más práctico hacerlo así. Para empezar con los vectores, recomiendo utilizar y practicar el primer método mencionado en esta entrada. Es el más simple y el que menos conocimientos requiere. Los últimos métodos, que incluyen algunas funciones, son más para cuando los vectores no están ordenados, en cuyo caso el último método parece el más sencillo. Se define a un arreglo como un grupo de elementos relacionados entre sí por medio de índices. Los arreglos pueden ser de una o más dimensiones, los de una dimensión, son llamados comúnmente "vectores". A diferencia con el lenguaje C, en PHP, un vector puede tener elementos de distintos tipos. Para hacer referencia a un elemento del vector, se utiliza un índice, que indica la dirección en donde se encuentra un determinado valor. El índice en un arreglo comienza siempre por cero. ( Más adelante se verá que el índice de un vector, no necesariamente debe ser un número entero, sino que también puede ser un texto).
  104. 104. EJEMPLO: Almacenar los nombres de los días de la semana en un vector y luego imprimirlos uno debajo de otro. PPRESENTACION EN PANTALLA Un vector, en PHP, puede contener elementos de distintos tipos de datos, es decir, un elemento puede ser un número entero, otro una cadena, otro un número con decimales, etc. Un modelo de este caso se puede observar en el siguiente ejemplo.
  105. 105. EJEMPLO: Almacenar en un vector los datos personales de un empleado y luego mostrarlos en pantalla. PPRESENTACION EN PANTALLA
  106. 106. EJEMPLO: Cargar en un vector artículos de librería y luego imprimir la cantidad de ellos. PRESENTACION EN PANTALLA Un vector en PHP puede tener elementos en cualquier posición, por lo tanto, se puede cargar un vector con posiciones no consecutivas, sino en forma totalmente aleatoria. Para poder recorrer este tipo de vectores se utilizan las funciones next() y prev().
  107. 107. EJEMPLO: Cargar los nombres de personas en cualquier posición. PRESENTACIÓN EN PANTALLA Aquí se observa que los nombres fueron cargados en posiciones aleatorias. Con la función reset (), se logra llevar el puntero al principio del vector y para poder encontrar la posición de un elemento se utiliza la función key(), la cual acepta como parámetro el vector y devuelve la posición. Luego para poder obtener el contenido en esa posición se utiliza la función current (), que acepta el vector y devuelve el valor almacenado. La función next () avanza el puntero a la posición siguiente, si se ha llegado al final del vector, esta función devuelve false.
  108. 108. INCLUSIÓN DE CÓDIGO DESDE UN FICHERO En ocasiones es necesario cargar el mismo archivo en diferentes scripts y de esa forma no repetir el mismo código en diversos scripts. Parece entonces razonable que debe existir algún método o forma de cargar algún archivo externo y de esa forma generar páginas web más dinámicas. A este efecto PHP dispone de dos instrucciones para poder cargar archivos: require("archivo"); Cuando se incluye un archivo con require el intérprete abandona el modo PHP y entra en modo HTML, una vez abierto el fichero lo incluye hasta su última línea y posteriormente abandona el modo HTML para volver a posicionarse en el modo PHP. Su principal diferencia con include () es que no permite la carga condicional. include("archivo"); Cuando se incluye un archivo con require el intérprete abandona el modo PHP y entra en modo HTML, una vez abierto el fichero lo incluye hasta su última línea y posteriormente abandona el modo HTML para volver a posicionarse en el modo PHP. Permite la carga condicional, es decir, que podemos cargar un archivo o otro según si se cumple o no una condición.
  109. 109. INTRODUCCION A FUNCIONES Las funciones son una parte muy importante en cualquier lenguaje de programación y PHP no es una excepción a ello, ni mucho menos! Definimos primero qué es una función: una función es como una pieza independiente del programa, una „entidad‟ de código que está diseñada, mejor dicho, programada para realizar una determinada acción, como por ejemplo, devolvernos la fecha del sistema. No es necesario que conozcamos „sus tripas‟, el código que la conforma. Simplemente debemos saber para qué sirve y cómo llamarla. En posts anteriores de Aprendiendo PHP ya hemos visto y utilizado algunas de ellas, como la función que he comentado en el párrafo anterior, la que nos devuelve la fecha y la hora de nuestro sistema: la función date(). Una función puede o no devolver un resultado, operando sobre unos valores, a los cuales denominamos argumentos o parámetros. Se construye con una palabra reservada del lenguaje seguida de paréntesis, los cuales pueden ir vacíos o con una enumeración de argumentos o parámetros, separados por comas. Posteriormente esos argumentos pueden sustituirse por los valores que queramos, siempre y cuando sean del mismo tipo de datos. Por cierto, nos queda pendiente el tema sobre el cambio de tipo de datos, lo sé… PHP dispone de un buen número de funciones propias del lenguaje, pero además podemos crear las nuestras propias. Esto último lo veremos bastante más adelante. Primero, la base. De todas formas, conviene que le eches un vistazo al listado de todas sus funciones en su página oficial de PHP: funciones en PHP. Comentaros también que una función puede que sólo efectúe una operación, como la obtención de la suma de dos números que ya hemos visto. El resultado podremos imprimirlo en pantalla -con el constructor del lenguaje echo o print que también hemos utilizado mucho o guardar el resultado en una variable para utilizarlo más adelante, tal vez en otra función. Ahora vamos a ver todo esto que hemos explicado con un ejemplo de una función que calcula la raíz cuadrada de un número, el cual se lo pasamos a la función como un parámetro, siempre entre paréntesis. La función nos devolverá un resultado (a la variable la hemos llamado también $resultado) a través de la palabra reservada return. Luego, para mostrar en pantalla el
  110. 110. resultado, creamos otra variable denominada $raiz_cuadrada a la cual asignamos la función con un valor de nuestra elección, un argumento. CONCEPTO DE FUNCIÓN Una función es un grupo de instrucciones que realiza una tarea, estas instrucciones están agrupadas en un mismo bloque, el cual puede ser llamado desde cualquier parte del código. Esto hace que no tengamos que repetir un cierto código cada vez que queramos realizar la misma tarea, ya que basta con hacer una llamada a la función y esta se ejecuta. Hay dos tipos de funciones, las que podemos crear nosotros mismos y las predefinidas. PHP dispone de muchas funciones ya predefinidas, es decir, tareas que son habituales en programación, y para las cuales hay ya una función prefabricada, en este caso lo único que tenemos que hacer es llamar a la función para que esta se ejecute. Esto lo hemos visto ya en páginas anteriores, hemos visto funciones predefinidas para ordenar arrays, o para crear ficheros, o para otra serie de tareas. La forma de llamar a una función predefinida, tal como hemos hecho en las páginas anteriores, es escribiendo su nombre y luego un paréntesis. El paréntesis puede llevar o no argumentos o parámetros, es decir, una serie de datos que hay que pasarle a la función, necesarios para obtener un resultado. Una de las herramientas más importantes en cualquier lenguaje de programación son las funciones. Una función consiste en un conjunto de rutinas y acciones que a lo largo del script van a ser ejecutadas multitud de veces agrupados en una FUNCION y desde cualquier punto del script puede ser llamada y ejecutada. A su vez, esta función puede recibir parámetros externos de los cuales dependa el resultado de una función. Las funciones deben ser colocadas siempre antes de realizar la llamada a la función (como es lógico). La sintaxis de una función es la siguiente:
  111. 111. function nombre(parámetros){ instrucciones de la función } para llamar a la función sería de la siguiente forma: nombre(parámetros). Crearemos una función que realice la suma de dos números y muestre el resultado PRESENTACION EN PANTALLA Un hecho relevante que cabe destacar es que las variables que declaremos dentro de la función solo existirán o tendrán dicho valor dentro de la función. Existen casos en los cuales no sabemos el número de parámetros que le pasaremos a la función y en estos casos debemos usar las funciones creadas al efecto como son: func_num_args() Numero de parámetros que se le han pasado a la función func_get_args() Devuelve un elemento de los que forman la lista de argumentos
  112. 112. INTRODUCCION A CLASES A partir de PHP 5, el modelo de objetos ha sido reescrito para permitir un mejor rendimiento y con más características. Este fue un cambio importante a partir de PHP 4. PHP 5 tiene un modelo de objetos completo. Entre las características de PHP 5 están la inclusión de la visibilidad, las clases abstractas y clases y métodos finales, métodos mágicos adicionales, interfaces, clonación y tipos sugeridos. PHP trata los objetos de la misma manera como referencias o manejadores, lo que significa que cada variable contiene una referencia de objeto en lugar de una copia de todo el objeto. DECLARACIÓN Y USOS DE CLASES La programación orientada a objetos se basa en la programación de clases; a diferencia de la programación estructurada, que está centrada en las funciones. Una clase es un molde del que luego se pueden crear múltiples objetos, con similares características. Un poco más abajo se define una clase Persona y luego se crean dos objetos de dicha clase. Una clase es una plantilla (molde), que define atributos (lo que conocemos como variables) y métodos (lo que conocemos como funciones). La clase define los atributos y métodos comunes a los objetos de ese tipo, pero luego, cada objeto tendrá sus propios valores y compartirán las mismas funciones. Debemos crear una clase antes de poder crear objetos (instancias) de esa clase. Al crear un objeto de una clase, se dice que se crea una instancia de la clase o un objeto propiamente dicho.
  113. 113. Confeccionaremos nuestra primera clase para conocer la sintaxis en el lenguaje PHP, luego definiremos dos objetos de dicha clase. Implementaremos una clase llamada Persona que tendrá como atributo (variable) su nombre y dos métodos (funciones), uno de dichos métodos inicializará el atributo nombre y el siguiente método mostrará en la página el contenido del mismo. EJEMPLOS
  114. 114. PRESENTACION EN PANTALLA La sintaxis básica para declarar una clase es: Siempre conviene buscar un nombre de clase lo más próximo a lo que representa. La palabra clave para declarar la clase es class, seguidamente el nombre de la clase y luego encerramos entre llaves de apertura y cerrado todos sus atributos(variable) y métodos(funciones). Nuestra clase Persona queda definida entonces:

×