Introducción a la Programación web en PHP

Download Report

Transcript Introducción a la Programación web en PHP

Introducción a la Programación
web con PHP5
Diseño y Construcción de Productos de Software
Daniel Correa Botero
Jeferson David Ossa
Universidad Nacional de Colombia
Sede Medellín 2013
•
•
•
•
Herramientas para programar en el
curso
Sistema operativo: Windows o cualquier otro X.
Servidor web: Apache.
Gestor de Base de Datos: MySQL.
Un lenguaje para páginas web dinámicas: PHP.
Para esto utilizaremos: Xampp, Lamp o Wamp Server
Requisitos y Conocimientos
adicionales
•
•
•
•
•
Programación Orientada a Objetos.
SQL.
HTML.
CSS.
Smarty -para manejar la capa visual-.
¿Por qué usar PHP?
• Gratuito.
• Cualquier servidor barato de 30 a 40 US$ año corre PHP sin
problemas.
• Permite POO.
• Miles de librerías, módulos, tutoriales y foros en la comunidad
y en internet.
¿Por qué usar MySQL?
• Porque es gratuito y porque la mayoría de los
servidores lo traen incorporado por defecto. Y
no más.
• Otras opciones que se integran con PHP: DB2,
PostgreSQL, SQLite.
¿Qué es separación por capas?
 Son divisiones que se le dan al código, para
hacerlo mucho más entendible y sostenible a
través del tiempo, esto garantiza un código
reutilizable y mayor eficiencia en la
programación.
 ¿Cuántas capas usar?, ¿cómo dividir el código?,
¿qué incluir en cada capa?, ¿cómo aprovechar el
uso de estas capas?. Esto lo aprenderemos a
medida de que vaya transcurriendo el curso.
¿Qué es Smarty?
 Smarty es una herramienta clave para poder hacer la separación por
capas. Simplemente permite al programador separar el código PHP del
HTML mediante el uso de una serie de etiquetas Smarty.
Ventajas:
• Restringe las operaciones que se pueden realizar en una vista.
• Separación del código de presentación.
• Tener organizados las vistas -templates- en un solo sitio.
• Permite que un diseñador y un programador puedan trabajar al mismo
tiempo en archivos diferentes y sin verse afectados entre sí.
¿Qué es POO?
 No es un lenguaje, no es una tecnología, es
simplemente una forma de programar donde se usan
clases, métodos, atributos, herencia, polimorfismo,
encapsulamiento.
 Se transforma el mundo real en forma de objetos.
 Permiten al programador tener un código más acorde
con la realidad y más sencillo de entender; ejemplo:
una persona tiene cédula, nombre y apellido.
Problemas actuales con la
programación Web
 Se programa de forma ‘libre’ con tendencias a tener todo el
código
en
el
mismo
archivo
fuente.
 No se siguen ‘buenas prácticas’ que permitan rehusar
fácilmente el código de otro programador. Muchas veces ni
siquiera podemos rehusar nuestro propio código.
 La seguridad web pasa a un segundo plano y en realidad
debería
ser
una
prioridad.
 Sin bases ni lineamientos el trabajo en equipo se vuelve
muy complicado y al final una sola persona termina
desarrollando todo el producto.
Problemática en el Campus
• Muchos trabajos de grado o desarrollos son
desechados al poco tiempo de ser entregados.
• Falta credibilidad en la escuela de sistemas en
cuanto al desarrollo de aplicaciones y sitios
web.
• Faltan materias o cursos en la parte de
seguridad de web.
¿Qué es un Framework ?
 Es un esquema (un esqueleto, un patrón) para el desarrollo y/o la
implementación de una aplicación.
Ventajas:
- Mayor seguridad, agrupa prácticas y criterios para solucionar
problemas comunes.
- Acceso a tutoriales y documentación sobre como crear
aplicaciones.
- El programador no necesita plantearse una estructura global de la
aplicación, sino que el framework le proporciona un esqueleto que
hay que "rellenar".
Framework G
 Es un framework basado en el patrón de arquitectura G
(que a su vez esta basado en el MVC).
Características:
- Uso de POO.
- Uso de ORM (object-to-relational-mapping).
- Árbol de carpetas simplificado.
- Documentación detallada.
- Muy liviano.
- Implementación de Smarty.
Arquitectura G
G light
• Es una versión muy muy básica de G (casi
como programar desde 0) que contiene:
-
Una plantilla por defecto
Una clase ORM
Una clase objeto estándar
Un gestor de base de datos básico.
2 archivos de configuración básicos.
Ejemplo Smarty: Index.php
Index.tpl
Salida HTML generada
Instalación de programas




Wamp: http://www.wampserver.com/en/#download-wrapper
Eclipse: http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliosr
Netbeans: http://netbeans.org/features/php/
Glight: https://www.dropbox.com/s/mi1g4d2bp6slicy/glight.zip
Notas: Para wamp recordar bajar Visual C++ 2010 SP1 Redistributable Package
x86 o x64 un paquete que aparece en el mismo link de descarga de wamp y
recordar en caso de usar skype: siempre abrir primero wamp y luego
skype.
Para minimizar los warnings de wampserver hacer lo siguiente, dar clic en
el icono de wampserver en la barra de inicio; luego pararse en la carpeta
PHP y dar clic en php.ini, esto abrirá un archivo en bloc de notas, deben
buscar la línea:
error_reporting = E_ALL y sustituirla por error_reporting = E_ALL &
~E_NOTICE
Instalación de programas
Una vez configurado wampserver o xampp, descomprimimos el archivo
que descargamos desde la web: glight.rar
Pasos para wampserver:
1) Copiamos la carpeta glight dentro del directorio C:/wamp/www/
2) Si la ruta de carpetas global no es C:/wamp/www/glight/ debido a que se instalo
en otro disco duro o con otro nombre, entonces debemos entrar a
glight/configs/include.php y modificar la constante C_FULL_PATH por la ruta
correspondiente.
Pasos para Xampp:
1) Copiamos la carpeta glight dentro de: Aplicaciones ->Xampp -> htdocs
2) Selecciona la carpeta templates_c (que se encuentra en la ruta glight/templates_c)
y le damos 'cmd + i’ o click derecho, obtener información (cmd + I) y donde dice
compartir y permisos se debe poner a todos los usuarios: leer y escribir
3) Debemos entrar a glight/configs/include.php y modificar la constante
C_FULL_PATH por la ruta de carpetas global.
Instalación de programas
• Finalmente usando NetBeans o Eclipse
creamos un nuevo proyecto PHP y
seleccionamos la carpeta glight como fuente
del proyecto y desde ahí podremos modificar
el código fuente de la aplicación.
• Ingresamos
desde
el
navegador
http://localhost/glight/index.php
deberíamos ver la aplicación corriendo.
a
y
PHP5
INTRODUCCIÓN
Hello World!
Variables y Tipos
Arrays
Estructuras de Control
Referencias
•
•
•
•
•
•
http://www.php.net/manual/es/
http://smarty.net
http://www.frameworkg.com
https://www.facebook.com/FrameworkG
http://www.w3schools.com/php/default.asp
http://www.codecademy.com/es/learn
GRACIAS