Herramientas para programar en elcurso 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 a http://localhost/glight/index.php y deberíamos ver la aplicación corriendo.
PHP5 INTRODUCCIÓN
Hello World!
Variables y Tipos
Arrays
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