PRESENTACION
Este libro está enfocado en enseñar los fundamentos teóricos y prácticos que permitan al
estudiante, desarrollar aplicaciones web, basadas en las nuevas capacidades del lenguaje y el
uso de los nuevos patrones de diseño, logrando así solucionar un problema específico a través
de la gestión de bases de datos.
Sin duda que puede constituirse en una de las herramientas básicas que debe tener un
programador para proyectar soluciones eficientes, seguras y satisfactorias.
Se busca desarrollar la capacidad de analizar las necesidades en el manejo de la información
para luego diseñar y construir soluciones a través del desarrollo de aplicaciones web, teniendo
en cuenta los estándares y los patrones de diseño de software
OBJETIVOS
OBJETIVO GENERAL
Proporcionar los conocimientos y herramientas básicos para el desarrollo de aplicaciones web
funcionales, rápidas y eficientes, basadas en los patrones actuales de diseño
OBJETIVOS ESPECIFICOS
Conocer los fundamentos de las aplicaciones web, las servidores web y la configuración de
estos.
Conocer la sintaxis del lenguaje, para poder escribir archivos de manera correcta y funcional
Aprender a Identificar las posibles alternativas de solución a un problema de manejo de
información a través del uso de la herramienta
Aplicar los conceptos de la programación orientada a objetos para desarrollar aplicaciones
web modulares y eficientes
Comprender y utilizar los mecanismos adecuados para desarrollar aplicaciones seguras y
confiables
Aprender a gestionar la información almacenada en una base de datos
Conocer los conceptos en torno a los frameworks y demás estructuras de construcción de
aplicaciones web modernas
Desarrollar una aplicación basada en un framework, obedeciendo así los nuevos patrones de
diseño
COMPETENCIAS A DESARROLLAR:
Competencias relacionadas con el ser:
Trabajo en equipo, a través del desarrollo de actividades en entornos colaborativos
Solucionador de problemas, a través del desarrollo de ejercicios propuestos y la aplicación de
estas soluciones en un caso real
Habilidades de comunicación, expresando de manera clara y coherente el funcionamiento de
una aplicación, y la forma como esta contribuye a la solución de un problema
Competencias relacionadas con el saber
Conocer los diferentes conceptos en torno a los servidores web, y la forma como estos funcionan
y se configuran
Identificar los elementos que componen una aplicación construida en php
Identificar y utilizar los operadores y la forma como estos se utilizan en el lenguaje
Identificar las estructuras de repetición y su funcionamiento dentro de una aplicación web
Comprender el funcionamiento de los esquemas de seguridad que se construyen a través de las
sesiones y las cookies dentro de la aplicación
Identificará las variables y saber la función que desempeñan estas dentro del código
Conocer los diferentes patrones de diseño y la forma como estos pueden configurarse para el
desarrollo de aplicaciones
Competencias relacionadas con el saber hacer:
Podrá investigar y conseguir información necesaria para el desarrollo de aplicaciones.
Estará en capacidad de elaborar su propio código a partir de ejemplos.
Estará en la capacidad de participar en la construcción de un proyecto de software que aporte a
la solución de un problema de gestión de información en una institución
Construirá nuevos archivos que contengan la estructura adecuada y aporten soluciones a un
proyecto de software
Implementará los conceptos de la programación orientada a objetos para la construcción de
aplicaciones web modulares
Creará una aplicación web que gestione la información contenida en una base de datos,
insertando actualizando y visualizando los registros correspondientes.
CONTENIDOS.
UNIDAD 1: Conceptos generales
UNIDAD 2: Introducción al desarrollo de aplicaciones Web
UNIDAD 3: Sintaxis y características
UNIDAD 4: Variables y constantes
UNIDAD 5: Estructuras de decisión
UNIDAD 6: Estructuras de repetición
UNIDAD 7: Arrays
UNIDAD 8: Funciones
UNIDAD 9: Envío de datos por URL y por formulario
UNIDAD 10: Programación orientada a objetos con PHP
UNIDAD 11: Acceso a datos en mysql con php
UNIDAD 12: Sesiones en php
UNIDAD 13: Patrones de diseño
UNIDAD 14: Los frameworks
UNIDAD 15: Creando su propio framework
UNIDAD No. 1: Conceptos generales
1.1 Qué es Php
Php(Hypertext Pre-processor) Es un versátil y ligero lenguaje de programación que pertenece a
la categoría de software libre, creado por Rasmus Lerdof en 1995, que se escribe en cualquier
editor simple de texto contiene gran parte estructura de C y Perl, y es interpretado por un
servidor web gracias a un módulo que procesa el código y genera como resultado una página
web, la cual puede ser vista en cualquier navegador de un computador, en una tableta o
dispositivo móvil.
Php ha evolucionado desde entonces gracias al desarrollo y participación del grupo PHP quienes
han implementado numerosos cambios desde su primera versión de php3 hasta la versión php5
que actualmente es la que cuenta con elementos de programación orientada a objetos y un
enfoque de los nuevos patrones de diseño basados en las arquitecturas de tres capas.
1.2. Porque usar PHP
Sin lugar a dudas, PHP posee una gran cantidad de ventajas que lo hacen uno de los lenguajes
más utilizados actualmente, entre estas se destacan: Por su bajísima curva de aprendizaje, por
su facilidad para desarrollar aplicaciones en corto tiempo, por la perfecta integración con otras
tecnologías como Javascript1, XML2, Ajax3 y XHML4, por la facilidad para detectar errores, la
facilidad de conexión y gestión de bases de datos y la amplia documentación que posee así
también como la gran comunidad que hay actualmente en el mundo detrás de su rápida
evolución. En el sitio principal php.net, se encuentra toda la ayuda relacionada con este lenguaje.
1.3. Donde encontramos PHP
Php está en cientos de miles de servidores en el mundo, ya que gran parte de los sitios web han
sido desarrollados por manejadores de contenidos (CMS) hechos en php como Drupal 5, mambo,
Joomla6, Wordpress7 entre otros. También se destacan sitios como Yahoo!, Wikipedia,
Sourceforge, y Facebook, la red con más usuarios en el mundo y el más destacado hasta ahora
sitio realizado en php.
1.4. Que se requiere para trabajar con PHP
Php es un lenguaje que se caracteriza por correr en equipos con una mínima cantidad de
hardware, su versatilidad y adaptabilidad le permiten operar en diferentes ambientes, es por eso
que puede ser instalado en servidores con Linux 8, como también puede funcionar en equipos con
plataforma Windows9.
Su funcionamiento está condicionado a la existencia de un servidor web como apache en las
plataformas Linux, o Windows respectivamente, ya que a pesar de que funciona en línea de
comandos, se le ha dado mayor uso en el desarrollo de aplicaciones que corren en los diferentes
navegadores web que existen actualmente.
1
Javascript
2
XML
3
AJAX
4
XHTML
5
Drupal
6
Joomla
7
Wordpress
8
Linux
9
Windows
Podemos encontrarlo integrado en aplicaciones como LAMP 10, MAMP11,XAMPP12 y WAMP13, que
poseen las herramientas necesarias para generar la funcionalidad de un servidor web, un gestor
de bases de datos como mysql14 y el intérprete de PHP
Para escribir el código, existen una gran cantidad de editores que van desde el básico notepad
de Windows, como también existen aplicaciones como Geany 15 que contiene cerrado automático
de etiquetas y texto predictivo de funciones, que permiten recordar al desarrollador la sintaxis de
estas. También hay aplicaciones más sofisticadas como PhpEdit 16, Dreamweaver17 o Netbeans18
que contienen herramientas adicionales para la escritura de código a través de arrastrar y soltar
elementos en la ventana de edición.
Si de algún modo, ninguna de las anteriores opciones satisface sus necesidades en el uso de
este lenguaje, puede optar por desarrollar aplicaciones empleando otras herramientas que
facilitan considerablemente la tarea a un precio bastante cómodo; entre estas se encuentran
Phpmaker19, Script-Case20 o Webmatrix21, que incorpora otros lenguajes en una sola aplicación.
Versiones de Php
UNIDAD No. 2: Introducción al desarrollo de aplicaciones Web
2.1. Aplicaciones Web
Una aplicación web es aquella que se desarrolla en un lenguaje de programación como
java22,.net23, o php y puede ser visualizada y utilizada a través de un navegador web, sin importar
el sistema operativo en que este se encuentre.
Las aplicaciones web pueden integrarse con otras herramientas como javascript, xhtml, css y
Ajax, permitiendo así mejorar la experiencia del usuario con la aplicación, logrando que esta sea
más interactiva y cumpla con algunos criterios de usabilidad 24.
Una de las grandes ventajas de las aplicaciones web, con respecto a las aplicaciones de
escritorio, es que estas pueden ser utilizadas desde cualquier lugar del mundo que cuente con
un navegador y una conexión a internet.
Al crear aplicaciones web, se garantiza un mayor número de usuarios concurrentes, una mayor
cobertura geográfica, un menor desgaste en la implementación, el soporte y las actualizaciones,
porque estas se hacen del lado del servidor y afectan a los usuarios que se encuentren en
diferentes sitios del planeta
10
Lamp
11
Mamp
12
Xampp
13
Wamp
14
Mysql
15
Geany
16
PhpEdit
17
Dreamweaver
18
Netbeans
19
Php Maker
20
Script Case
21
Webmatrix
22
Java
23
.Net
24
Usabilidad
2.2 Servidores web
Un servidor web
2.3 Servidor Apache
2.4 Configuración de Apache (httpd.conf)
2.5 Servidores Virtuales
2.6 Configuración de Php (Php.ini)
Repasando los conceptos:
Archivos Php.ini y Httpd.conf
Para Aprendizaje de procesos:
Instalación de Wampserver
Creación y configuración de un servidor web
Para Aprendizaje investigativo:
Investigación sobre cómo crear servidores virtuales
Creación de 2 servidores virtuales
Para aprendizaje argumentativo
Investigar y documentar las diferencias, ventajas y desventajas entre Wamp y Xampp
Para aprendizaje reflexivo y crítico
Definir con cuál de los herramientas (wamp o xamp) va a trabajar y porque ha seleccionado una
de estas
.
ESTRATEGIAS DIDÁCTICAS DE LA UNIDAD No. 1
BIBLIOGRAFÍA
Gutiérrez Rodríguez, A.& Bravo García G (2005) PHP5 a través de Ejemplos. Alfa Omega
Grupo Editor
UNIDAD TEMÁTICA No. 2: Introducción al lenguaje, sintaxis y características
ESTRATEGIAS DIDÁCTICAS DE LA UNIDAD No. 2
Para aprendizaje de conceptos:
Clase magistral.
Lectura de textos.
Para Aprendizaje de procesos:
Ejercicios en clase
Para Aprendizaje investigativo:
Ejercicios para trabajo independiente
Investigación sobre estructuras lógicas del lenguaje
Para aprendizaje argumentativo
Investigar y documentar las diferencias entre las diferentes estructuras de decisión
Investigar y documentar las diferencias entre las diferentes estructuras de repetición
Para aprendizaje reflexivo y crítico
Definir con cuál de las estructuras de repetición es la ideal en la mayoría de los casos
BIBLIOGRAFÍA
Gutiérrez Rodríguez, A.& Bravo García G (2005) PHP5 a través de Ejemplos. Alfa Omega
Grupo Editor
UNIDAD TEMÁTICA No. 3: Arreglos y matrices
ESTRATEGIAS DIDÁCTICAS DE LA UNIDAD No. 3
Para aprendizaje de conceptos:
Clase magistral.
Lectura de textos.
Para Aprendizaje de procesos:
Ejercicios en clase
Cargar un array con elementos numéricos
Cargar un array con elementos alfanuméricos
Recorrer e Imprimir los elementos de un array
Para Aprendizaje investigativo:
Ejercicios para trabajo independiente
Investigación sobre los arrays asociativos
Para aprendizaje argumentativo
Investigar y documentar las diferencias entre los arrays simples vs los arrays asociativos
Para aprendizaje reflexivo y crítico
Definir cuál es el mejor método para recorrer y mostrar un array
BIBLIOGRAFÍA
Gutiérrez Rodríguez, A.& Bravo García G (2005) PHP5 a través de Ejemplos. Alfa Omega
Grupo Editor
UNIDAD TEMÁTICA No. 4: Paso de variables y datos por url y por formulario
ESTRATEGIAS DIDÁCTICAS DE LA UNIDAD No. 4
Para aprendizaje de conceptos:
Clase magistral.
Lectura de textos.
Para Aprendizaje de procesos:
Ejercicios en clase
Enviar datos personales por formulario e imprimirlos
Enviar datos de una tabla por url e imprimirlos
Para Aprendizaje investigativo:
Ejercicios para trabajo independiente
Investigación sobre los métodos HttpRequest
Investigar como adjuntar archivos por formulario
Para aprendizaje argumentativo
Investigar y documentar las diferencias entre GET,POST y REQUEST
Para aprendizaje reflexivo y crítico
Definir cuál es el mejor método para envío de datos que se usa actualmente
BIBLIOGRAFÍA
Gutiérrez Rodríguez, A.& Bravo García G (2005) PHP5 a través de Ejemplos. Alfa Omega
Grupo Editor
UNIDAD TEMÁTICA No. 5: Funciones
ESTRATEGIAS DIDÁCTICAS DE LA UNIDAD No. 5
Para aprendizaje de conceptos:
Clase magistral.
Lectura de textos.
Para Aprendizaje de procesos:
Ejercicios en clase
Realizar ejercicios de funciones con parámetros y sin parametros
Realizar ejercicios que impliquen uso de funciones(matemáticas, de cadenas, de arrays)
Para Aprendizaje investigativo:
Ejercicios para trabajo independiente
Investigación sobre las funciones recursivas
Para aprendizaje argumentativo
Investigar y documentar las diferencias entre las funciones que retornan y las que no retornan
valores
Para aprendizaje reflexivo y crítico
Definir en qué casos es necesario que una función retorne valores y en cuales no.
BIBLIOGRAFÍA
Gutiérrez Rodríguez, A.& Bravo García G (2005) PHP5 a través de Ejemplos. Alfa Omega
Grupo Editor
UNIDAD TEMÁTICA No. 6: Programación orientadas a objetos con PHP
ESTRATEGIAS DIDÁCTICAS DE LA UNIDAD No. 6
Para aprendizaje de conceptos:
Clase magistral.
Lectura de textos.
Para Aprendizaje de procesos:
Ejercicios en clase
Instanciación de una clase creando diferentes objetos
Realizando una clase para operaciones con una cuenta de ahorros
Para Aprendizaje investigativo:
Ejercicios para trabajo independiente
Investigación sobre métodos constructores, getters y setters
Para aprendizaje argumentativo
Investigar y documentar la herencia en las clases
Para aprendizaje reflexivo y crítico
Definir en qué casos es necesario que los elementos de una clase sean públicos o privados
BIBLIOGRAFÍA
Gutiérrez Rodríguez, A.& Bravo García G (2005).PHP5 a través de Ejemplos. Alfa Omega
Grupo Editor
Baith, E, (2006). POO y MVC en PHP. Editorial Autoedición. 66 páginas
Hayder H. (2007) Object-Oriented Programming with PHP5. Packt Publishing Ltd.32 Lincoln
RoadOlton Birmingham, B27 6PA, UK.
UNIDAD TEMÁTICA No. 7: Acceso a datos con mysql y php
ESTRATEGIAS DIDÁCTICAS DE LA UNIDAD No. 7
Para aprendizaje de conceptos:
Clase magistral.
Lectura de textos.
Para Aprendizaje de procesos:
Ejercicios en clase
Conexión a un servidor
Accediendo a una base de datos de mysql
Accediendo a los registros de la base de datos
Insertando registros de la base de datos
Para Aprendizaje investigativo:
Ejercicios para trabajo independiente
Investigación sobre la librería PDO
Investigación sobre la librería ADoDB
Investigación sobre MYSQLI
Para aprendizaje argumentativo
Investigar y documentar sobre las diferencias entre PDO, ADODB y MYSQLI
Para aprendizaje reflexivo y crítico
Definir qué librería es la mejor, la más utilizada y cuál es la razón
BIBLIOGRAFÍA
Gutiérrez Rodríguez, A.& Bravo García G (2005).PHP5 a través de Ejemplos. Alfa Omega
Grupo Editor
Baith, E, (2006). POO y MVC en PHP. Editorial Autoedición. 66 páginas
Hayder H. (2007) Object-Oriented Programming with PHP5. Packt Publishing Ltd.32 Lincoln
RoadOlton Birmingham, B27 6PA, UK.
UNIDAD TEMÁTICA No. 8: Sesiones en PHP
ESTRATEGIAS DIDÁCTICAS DE LA UNIDAD No. 8
Para aprendizaje de conceptos:
Clase magistral.
Lectura de textos.
Para Aprendizaje de procesos:
Ejercicios en clase
Implementando sesiones para envío de variables
Implementando sesiones para registrar nuevas variables
Implementando sesiones para registrar variables con información de una BD
Para Aprendizaje investigativo:
Ejercicios para trabajo independiente
Investigación sobre Cookies
Para aprendizaje argumentativo
Investigar y documentar acerca de los cookies en php
Para aprendizaje reflexivo y crítico
Definir en qué casos es necesario usar las sesiones y los cookies
BIBLIOGRAFÍA
Gutiérrez Rodríguez, A.& Bravo García G (2005).PHP5 a través de Ejemplos. Alfa Omega
Grupo Editor
MacIntyre Peter B,(2010),PHP The Good Parts. O´Reilly Media Inc.
UNIDAD TEMÁTICA No. 9: Patrones de diseño(MVC)
ESTRATEGIAS DIDÁCTICAS DE LA UNIDAD No. 9
Para aprendizaje de conceptos:
Clase magistral.
Lectura de textos.
Para Aprendizaje de procesos:
Ejercicios en clase
Creando una aplicación en tres capas
Creando un archivo controller
Creando un archivo view
Creando un archivo model
Para Aprendizaje investigativo:
Ejercicios para trabajo independiente
Investigación sobre el patrón MVC
Para aprendizaje argumentativo
Investigar y documentar acerca de los Patrones de Diseño MVC
Investigar la diferencia entre los controllers, las views y los models
Para aprendizaje reflexivo y crítico
Definir en qué casos es necesario el uso de un patrón de diseño mvc
BIBLIOGRAFÍA
Gutiérrez Rodríguez, A.& Bravo García G (2005).PHP5 a través de Ejemplos. Alfa Omega
Grupo Editor
Baith, E, (2006). POO y MVC en PHP. Editorial Autoedición. 66 páginas
Hayder H. (2007) Object-Oriented Programming with PHP5. Packt Publishing Ltd.32 Lincoln
RoadOlton Birmingham, B27 6PA, UK.
UNIDAD TEMÁTICA No. 10: Desarrollo de aplicaciones usando frameworks
ESTRATEGIAS DIDÁCTICAS DE LA UNIDAD No. 10
Para aprendizaje de conceptos:
Clase magistral.
Lectura de textos.
Para Aprendizaje de procesos:
Ejercicios en clase
Instalación de CodeIgnitier
Instalación de Cake
Instalación de Yii
Para Aprendizaje investigativo:
Ejercicios para trabajo independiente
Investigación sobre otros frameworks (Zend, Yuup, Kumbia etc)
Para aprendizaje argumentativo
Investigar la diferencia entre los diferentes patrones instalados
Para aprendizaje reflexivo y crítico
Definir en cuál de los patrones es el mejor y el más utilizado
BIBLIOGRAFÍA
Winesset J, (2010). Agile Web Application Development with Yii 1.1 and PHP5. Packt
Publishing Ltd.32 Lincoln RoadOlton Birmingham, B27 6PA, UK.
Blanco Argudo J & Upton D,(2009) CodeIgnitier. Packt Publishing Ltd.32 Lincoln RoadOlton
Birmingham, B27 6PA, UK.
UNIDAD TEMÁTICA No. 11: Desarrollo de proyecto
ESTRATEGIAS DIDÁCTICAS DE LA UNIDAD No. 11
Para Aprendizaje de procesos:
Selección del framework y asesoria
Para Aprendizaje investigativo:
Investigación sobre los plugins y complementos que pueden adicionarse al framework
Para aprendizaje argumentativo
Argumentar las ventajas del uso del framework para el acceso a los datos
Para aprendizaje reflexivo y crítico
Definir en cuál de los patrones es el mejor dependiendo del problema que se desea solucionar
BIBLIOGRAFÍA
10. ESTRATEGIAS DE APRENDIZAJE.
Se describen los aspectos metodológicos que tendrá el curso teniendo en cuenta la diferenciación entre actividades
presenciales y trabajo independiente del estudiante. Es especialmente importante describir los ejercicios que a manera de
contextos de aprendizaje sirven para valorar los desempeños del estudiantado es decir, el ser y saber hacer en contexto
requisito base de la formación por competencias. Se debe definir el modelo o enfoques de trabajo que se usará en el curso
En este componente se deben explicitar el sentido y la estrategia de la Tutoría como espacio de retroalimentación y apoyo al
proceso de aprendizaje incluyendo los horarios y criterios que orientan esta estrategia.
11. EVALUACION.
Descripción cuantitativa de los valores porcentuales del trabajo académico propuesto por el o la docente, de acuerdo con
las políticas de la Universidad y los acuerdos que se realizan con el estudiantado. Descripción cualitativa de las estrategias
evaluativas que permitan reconocer y fortalecer los aprendizajes de acuerdo con los propósitos de formación, los objetivos y
las competencias que se propuso desarrollar el curso. Es especialmente importante no olvidar que los contextos de
aprendizaje sirven para valorar los desempeños del estudiantado de modo procesual.
12. PROGRAMACIÓN DE LA EVALUACION
Aspectos a Evaluar Estrategia Porcentaje
Aprendizaje de conceptos Quices y talleres con preguntas 25%
conceptuales
Aprendizaje de procesos Talleres con actividades sobre temas 25%
tratados
Aprendizaje Investigativo Quices y talleres sobre temas 25%
investigados
Aprenizaje reflexivo Talleres para encontrar la mejor 25%
solución en un momento determinado
13. RECURSOS Y EQUIPOS PARA APOYAR EL CURSO
Descripción de los recursos humanos, institucionales, tecnológicos y didácticos.
Presentación en Power Point : Si Motores de Búsqueda:Si Material digitalizado:Si
Comunidad Virtual:Si Guías: Si Aplicaciones de Software:Si
Películas:No Grabaciones (audio):No Material Impreso: Si
Video: Si Elementos de Laboratorio:No Televisor: No
VHS: No Retroproyector: No Proyector de Opacos:No
Otros: Si ¿Cuáles? Video Beam
14. RECURSO LOCATIVO
Salón de clase : Si Salón de Dibujo:No Salón de computo:Si
Auditorio: No Laboratorio : No Biblioteca: Si
Otro ¿Cuál? :
15. LISTADO BIBLIOGRÁFICO
Se consigna la bibliografía usada en el desarrollo del curso y aquella recomendada que sirve para promocionar el
aprendizaje autónomo.
16. CIBERGRAFÍA
BIBLIOGRAFIA WEB – ENLACES DE INTERÉS
Dirección URL
http://www.phpya.com.ar
http://www.php.net
http://www.rinconastur.com/php/
http://www.yiiframework.com/
http://www.killerphp.com/tutorials/object-oriented-php/index.php
17. ESTADO LEGAL INTERNO DEL CURSO:
ESTADO LEGAL INTERNO DE LA ASIGNATURA
Elaboro: e-mail: día me año
s
Elaboró: e-mail: día me año
s
Revisó: Área: día me año
s
Aprueba: día me año
s
Acta Comité Curricular o de área: día me año
s
Acta Consejo de Facultad: día me año
s