En estos días estuve trabajando en el rediseño de NetMoviles, por contacto de mi amigo grapitix radicado en la madre patria, entre otras cosas quieren cambio de diseño, y de la web, agregar unas cosas entre ellas un chat para realizar consultas en línea.
No tenía tiempo para desarrollar uno en flash (asi lo querían
), así que me puse a la busca de uno en google. Encontré varios pero eran un poco pesados para mi gusto, hasta que dí con Develooping flash chat desarrollado en flash y php; incluso hay una demo para que lo prueben en línea, haber si les convence
.
En la web del autor dice lo siguiente “Es gratuito, puedes usarlo libremente y modificarlo como desees (siempre que mantengas los créditos).”; creo que el autor quiso decir libre
. Lo descargué y me dispuse a instalarlo, pero no funcionaba :S, asi que revisé el código, y ví que usaba variables globales por todos lados, es decir, para que funcione la opción en el php.ini, register_globals debería estar activada. Yo tengo dicha opción desactivada porque no me gusta usar variables globales nunca, y no solo en php, en mi opinión el uso de variables globales hace que el código se vuelva dificíl de mantener y entender, a parte que no es un buen hábito de programación, ni muy seguro que digamos
, aunque algunos ven el uso de globales como desarrollo mas rápido, lo cual es diferente de productivo
.
Para dar un ejemplo del uso de globales, Si llamamos a una página con http://www.miweb.com/mipagina.php?mivariable=5, esto provoca que en la página mipagina.php automáticamente genere la variable $mivariable con el valor 5. Pero por razones de seguridad este comportamiento automático se ha cambiado, estableciendo el valor por defecto de register_globals a off, a partir de la version 4.2.x de PHP.
Ahora para no trabajar con globales debemos buscar todas aquellas variables que son definidas automáticamente, variables del servidor, que provienen de get o post, cookies, files, variables de entorno o sesión. Reemplazar esas variables por las referencias adecuadas en cada caso, en PHP se han definido unos arrays diferentes con valores, dependiendo del lugar de procedencia. Así tenemos los arrays $_SERVER, $_GET, $_POST, $_COOKIE, $_FILES, $_ENV, $REQUEST y $_SESSION.
Si por ejemplo tenemos el siguiente script:
echo "Usuario: " . $usuario; //session
echo "Tipo de navegador: " . $HTTP_USER_AGENT;
echo "Variable: ".$mivariable; //variable de get
Se reemplaza por:
echo "Su edad: " . $_SESSION['usuario']; //session
echo "Tipo de navegador: " . $_SERVER['HTTP_USER_AGENT'];
echo "Variable: " . $_GET['mivariable']; //variable de get
Hechos los cambios para que no use variables globales, me puse a instalarlo en el servidor de pruebas y funciona perfectamente
.
Le envié el proyecto modificado al autor para que lo revise y lopublique en su web si lo desea
.
Para los que lo quieren probar lo pueden descargar de aquí(siempre y cuando mi pc este encendidad
)
O desde aquí
Ahí los vidrios.