http://martin.com.uy/wp-content/themes/martinuy2/live/proxy.php?url_especifica=
0
10
Mar
2008

Programar un fotolog desde cero.

Esta última semana estuve ausente del blog y fue porque anduve programando un fotolog desde cero o from scratch como dirían los anglosajones. Una forma de aprender programación web es tomar un script, estudiar cómo está escrito (funcionamiento y entorno) y empezar a modificarlo a gusto, con el viejo y querido método de ensayo y error. Pero esta vez cambié la apuesta y decidí arrancar de la nada. Voy a escribir algunas de las observaciones que me viene permitiendo la práctica -el trabajo lo voy a presentar cuando esté un poco más avanzado-. Aclaro antes de continuar que tengo poco conocimiento de programación y fue adquirido de forma autodidacta. El lenguaje usado es PHP con algo de SQL para las consultas a la base de datos y obviamente HTML en la salida.

Primera idea: separar código de diseño.

La primera cosa importante al programar en php es separar el código del diseño. Eso permite trabajar más cómodo y ordenado. Existen soluciones como Phplib y Smarty pero preferí readaptar el sistema de phpBB -que a su vez está inspirado en el primero- porque no hay que agregar nada al servidor, es poderoso y extremadamente fácil de usar. Basicamente se trata de dos grandes clases (template y template compile) que ubiqué en un mismo archivo (template.php) con algún cambio -cuando aprolije y limpie el código, lo ofrezco al público-. La cuestión a partir de allí es sencilla:

  • incluímos ese archivo en todas las páginas con la función include_once (en mi caso a través de un archivo común llamado motor.php). La ventaja de un archivo común que se cargue al principio de cada página está en que se puede disponer de variables comunes para el manejo de sesiones y otras cosas.
  • insertamos la línea $template = new template(); al comienzo de cada archivo php para crear el objeto dónde estarán las variables de la plantilla.
  • $template->assign_vars(array(‘VARIABLE1’ => $valor_variable1, ‘VARIABLE2’ => $valor_variable2, etc.)); irá casi al final del script, luego de que estén definidas todas las variables de salida (output) con sus respectivos valores. VARIABLE1, VARIABLE2 serán la representación de dichas variables en el código HTML.
  • $template->set_filenames(array(‘body’ => ‘favoritos.html’)); más abajo para indicar en qué archivo HTML se volcará la información (el path a los archivos HTML’s está definido en una de las clases).
  • $template->display(‘body’); al final para compilar y generar la página.
  • unset($template); para limpiar el objeto una vez usado.
  • En el código HTML, las variables se insertarán en el código con la forma {VARIABLE1} {VARIABLE2} etc.

Algunos tips antes de terminar este primer capítulo:

  1. el manual oficial de PHP es tu mejor amigo. Te explica como funciona cada función: que variables entran, que resultados salen, que variantes hay, te da ejemplos, etc. Inclusive la comunidad enriquece los artículos posteando ejemplos, construcciones más complejas y soluciones a problemas comunes.
  2. escribiendo http://php.net/nombredelafuncion en el navegador, vas directo al manual.
  3. phpDesigner 2008 es de los mejores programas que conozco para programar php. Es pago, ustedes saben que hacer 😉

En el próximo post voy a explicar cómo crear iteraciones como este sistema y voy a ver si publico el archivo template.php con algún ejemplo sencillito que ilustre.

Actualizo: análisis del código, iteración y ejemplo para descargar aquí.

11
Mar
2008

Toda esta programación es posible aplicarla en una cuenta de fotolog.com o .net ?

saludos, MaRio

11
Mar
2008

Es muy sencillo programar un sistema de fotologs la verdad. Y te hace pensar: ¿porqué no se me ocurrió a mí antes? x).

Suerte con el proyecto 😀

11
Mar
2008

Mario: no, no es posible. Fotolog.com no tiene API abierta, no te permite acceso a la información (recién ahora parece que sindicaron los contenidos) y ni siquiera sos dueño de la información (no la podrías respaldar automáticamente si quisieras). Lo que estoy haciendo es un script similar para poner en mi hosting.

Daniel: programarlo es muy fácil, es una cuestión de tiempo nomás. Lo más brillante es la idea, el modelo, la diagramación del sitio. Ahí está la diferencia entre quienes se hacen millonarios y quienes simplemente copiamos 😛 Muchas gracias.

Saludos,
martin.-

1
Aug
2008
k0rekc

Rico habria que buscar alguna Inyeccion Sql y RFI . Pero esta muy lindo el tuto !

Abrazo!

17
Nov
2008

hola martin me yamo yenny que disfrutes tu fotolog este es mi correo anotatelo yennylauno@hotmail.com bay

18
Apr
2009
agustin

GGGGGIIIIILIS PUTO S EMOS CHUPAME LAPIJA PPPPPPUUUUUUUUUUUUUUUUUUTTTTTTTTTTTTTTTTTOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO:…:O:O:O:O:O;O:O:O:O:O:O:O:O:O:O:O:O:O:O:O:O:O::O:o:O:O:O.:O:O::O:O:O:O:O:O:O:O:O:O:O:O:O:O:O:O:O:O:O:O:O:O

:O::::::::::::::::::::::::::::::::::::::::::::::O:::::::::::::::::::::::

28
Jul
2009

hola todo bien como te llamas

  1. 2 Trackback(s)

  2. Mar 11, 2008: martin.com.uy » Artículos » Separar diseño de código en php usando el motor de plantillas de phpBB
  3. Mar 24, 2008: martin.com.uy » Artículos » Presento Mi Fotolog (script)

Escribir un comentario