Autor: elGolem
|
Jueves, 02 de Septiembre de 2010 12:54
|
|
El concepto de Patrón
Los [Patrónes de Diseño] (Design Patterns) son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño, como la arquitectura (que de hecho es de donde surge la idea). Un patrón de diseño ofrece una solución abstracta a un problema de diseño que aparece muy frecuentemente, y su adaptación a las prácticas de la Ingeniería de Software surge tras la tesis de [Erich Gamma], publicados en un libro que recoge no sólo su de?nición, sino todo un catálogo de PDs aplicables a la programación básica orientada a objetos, y que cubren la mayor parte de los pequeños problemas recurrentes que se plantean en el desarrollo de cualquier programa.
Su objetivo principal es promover y mejorar la Reutilización dentro del software, y acá ya no hablamos solo de reutilización de código, sino de diseños y de [arquitecturas software], lo que hoy en día significa la utilización de Frameworks o Marcos de Trabajo, que basicamente son un diseño reutilizable de toda o parte de la arquitectura de un sistema, un esqueleto de una aplicación, que debe ser adaptado a necesidades concretas por el programador.
Además de los patrones de diseño también existe el concepto de [Antipatrón de Diseño], que es semejante a la idea de un patrón, pero intenta prevenir contra errores comunes de diseño en el software. La idea de los antipatrones es dar a conocer los problemas que acarrean ciertos diseños muy frecuentes, para intentar evitar que diferentes sistemas acaben una y otra vez en el mismo callejón sin salida por haber cometido los mismos errores.
Tags:
|
|
Modificado por última vez el: Jueves, 09 de Septiembre de 2010 09:20 |
|
Autor: elGolem
|
Jueves, 26 de Agosto de 2010 03:10
|
|
Este es un error muy común más que nada cuando Este articulo pertenece a elGolemtrabajamos con sesiones en PHP y puede hacernos perder horas de trabajo para encontrarle una solución.
Las funciones header(), setcookie(), y las funciones de sesión en PHP, como session_start(), necesitan agregar cabeceras HTTP al paquete con el contenido de la página que se envía al cliente, pero dichas cabeceras sólo pueden ser enviadas antes del resto del contenido.
Esto quiere decir que no puede haber Este articulo pertenece a elGolemninún tipo de salida antes de usar éstas funciones, ya sea mediante echo o imprimiendo código HTML directo. Es por ello que, si nos aparece un mensaje similar a este:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by...
Tags:
|
|
Modificado por última vez el: Jueves, 02 de Septiembre de 2010 13:55 |
Autor: elGolem
|
Jueves, 19 de Agosto de 2010 23:20
|
|
En esta ocasión vamos a tratar el tema de la comunicación entre PHP y JavaScript. Como ustedes seguro ya sabrán, [PHP] es un lenguaje de script que se ejecuta del lado del servidor y que genera código HTML dinamicamente, y la "salida" de estos scripts es la que se envía al cliente, mientras que [JavaScript] es un lenguaje que fue diseñado para ejecutarse pura y exclusivamente en un navegador web, es decir, del lado del cliente.
Y dado que HTTP es un protocolo "sin estados", los dos lenguajes no pueden compartir variables directamente. El problema acá surge cuando necesitamos utilizar datos que solamente podemos obtener desde el navegador, en algún script en el servidor, como puede ser por ejemplo la resolución del monitor con el que el usuario accede a nuestra página.
Si bien para este tipo de comunicación existen técnicas más complejas hoy en día, como es el uso de [AJAX] o de Cookies, para no complicarnos tanto la vida vamos a hacerlo de una forma mucho más sencilla: generando código Javascript con PHP, donde vamos a obtener los datos del cliente, y luego hacer que el navegador se refresque a sí mismo, pasando las variables de vuelta al script PHP por GET, a través del Query String.
El ejemplo a continuación muestra precisamente cómo hacer esto -- permite que código PHP capture la altura y el ancho de la pantalla, algo que normalmente sólo es posible en el lado del cliente.
|
|
Modificado por última vez el: Jueves, 23 de Septiembre de 2010 12:32 |
|
|
|
|
|