Archivo

Archivo para la categoría ‘PROGRAMACION’

Uso de MOD_REWRITE

Viernes, 1 de Febrero de 2008 Neozeratul Sin comentarios

Como desarrolladores sabemos que es muy importante hacer las cosas mas faciles a los usuarios y que mejor si usamos el modulo de apache MOD_REWRITE  para hacer URL AMIGABLES.

MOD_REWRITE  es un modulo del servidor web Apache que permite crear URL alternativas a nuestras páginas dinámicas de forma que sean mas fáciles de recordar y también mejor indexadas por los buscadores.

Esto nos permite que un URL de la forma:

  1. http://www.sample.com/producto.php?cat=monitor&subcat=lcd

Se pueda acceder mediante:

  1. http://www.sample.com/monitor/lcd/

Como Funciona?
Para utilizar MOD_REWRITE es necesario crear una serie de reglas basadas en Expresiones Regulares el cual permite identificar un determinado patrón y reescribirla. Internamente Apache procesará el URL resultante y se le mostrará al cliente.Estas reglas se escriben y colocan en un archivo de configuración llamado .htaccess el cual se encuentra en la raíz del servidor donde se quieren aplicar estas reglas.

Utilizando MOD_REWRITE
Lo primero es crear un archivo .htaccess, en el cual incluimos código para activar la opción de reescritura y luego utilizamos el comando RewriteRule en donde pasamos dos parámetros, el primero de ellos es el URL que vamos a reemplazar y el segundo es el URL que utilizaremos de reemplazo.

Luego si deseamos convertir nuestro URL de ejemplo, utilizaremos el siguiente código.

  1. Options +Indexes
  2. Options +FollowSymlinks
  3. RewriteEngine on
  4. RewriteBase /
  5. RewriteRule ^(.*)/(.*)/ products.php?cat=$1&subcat=$2

Nótese que $1 representa la primera coincidencia y $2 la segunda coincidencia buscada en el URL. Ahora hay que notar que esto es para cuando se desea aplicar la regla a un URL que esta en la raiz del servidor. Si nuestro URL esta en una carpeta por ejemplo llamada rewrite, entonces cambiamos el comando RewriteBase que indica la carpeta base a donde se aplicará la reescritura.

  1. Options +Indexes
  2. Options +FollowSymlinks
  3. RewriteEngine on
  4. RewriteBase /rewrite/
  5. RewriteRule ^(.*)/(.*)/ products.php?cat=$1&subcat=$2

Luego si creamos un PHP que imprima las variables que se les pasa por URL, tendríamos el siguiente código de ejemplo.

  1. <?php
  2. // file: products.php
  3. echo “<b>Categoría: </b>\t . $_GET["cat"] . “<br>”;
  4. echo “<b>SubCategoría</b>\t: “ . $_GET["subcat"] . “<br>”;
  5. ?>

Finalmente podemos ver que podemos obtener el mismo resultado al acceder a las siguientes URLs, las cuales devuelven el mismo resultado, pero obviamente la segunda forma es mucho mas corta y mas fácil de recordar.
http://neozeratulenlared.com/rewrite/products.php?cat=monitor&subcat=LCD
http://neozeratulenlared.com/rewrite/monitor/LCD/

Si desean mas información pueden leer mod_rewrite en la documentación oficial de Apache en donde encontrarán una guía muy detallada de como crear y utilizar reglas para las URLs.
Finalmente para los interesados les dejo los archivo fuente de este ejemplo.

Gracias a unijimpe.

GoPHP5 y sentencia para PHP4

Lunes, 20 de Agosto de 2007 Neozeratul Sin comentarios

GoPHP5 es un proyecto creado por varios desarrolladores, muchos de ellos de algunos de los programas hechos en PHP más utilizados, para darle un nuevo impulso al PHP 5.x, que ya va a cumplir tres años desde su lanzamiento. Lo que este grupo aclama es que PHP4 ya ha cumplido un servicio a la comunidad, y muchos ( cuando no casi todos ) los problemas de esa versión, se resolvieron en PHP5, pero aún así la transición en estos tres años ha sido muy lenta.

GoPHP5Por eso nace este compromiso, patrocinado por GoPHP5 y adoptado por desarrolladores y web hostings, de darle soporte completo a PHP 5.2 a partir del 5 de Febrero de 2008. Explicándolo mejor: a partir de esta fecha, todos los proyectos que se adhieren a GoPHP5, deben requerir para correr PHP 5.2 al menos, o la versión más actualizada a esa fecha. Así mismo, las empresas de Hosting se comprometen a tener instalado en sus servidores la misma versión de PHP.

A todo esto se suma el anunio hecho hoy por PHP.net, de que ya no darán más soporte a PHP4 a partir del 31 de Diciembre de 2007, así como tampoco lanzarán más versiones de la rama 4.4.x de este lenguaje, centrándose por completo en PHP 5.x y en el próximo a aparecer, PHP6.

Fuente: Zona PHP

Categories: NOTICIAS, PHP, PROGRAMACION Tags:

Los "Desarrolladores PHP" debemos profesionalizarnos o quedaremos descartados por obsoletos

Lunes, 20 de Agosto de 2007 Neozeratul Sin comentarios

Esta reflexión se la escribo a todos los “Programadores PHP”:

Al día de hoy la mayoría de los institutos o universidades de muchos países siguen enseñando PHP4, o mejor dicho, programación “scripting” básica. Se mueven en el viejo concepto de la “programación estructurada”, trabajando constantemente sobre código que mezcla html y sintaxis PHP, todo como si de una ensalada estuviéramos hablando.

Casi paralelamente, los jóvenes autodidactas siguen por el mismo camino, tal vez ayudados por la gran cantidad de material repetido y obsoleto que se encuentra tanto en la web como en las editoriales de turno, donde a pesar que un libro haya sido impreso recientemente, los autores siguen siendo los mismos y escribiendo -una y otra vez- sobre los mismos temas elementales.

Enfrentar la realidad con madurez

Solo nos damos cuenta que estamos en un grave problema cuando nos enfrentamos a la realidad: salimos al mercado laboral y con inocente sorpresa vemos que se habla mayoritariamente de Java o .Net, de UML, desarrollos en 3 capas, lógica de negocios, persistencia, polimorfismo, frameworks, patrones de diseño, refactoring… y tú solo tienes una vaga idea de algunos conceptos, pero nulo conocimiento de si es realmente posible hacerlo con PHP…


¿No crees que algo está pasando y que tú estás quedando fuera de la “conversación”?

Este es el gran problema de la mayoría de los “Programadores PHP”: se quedan en el “lenguaje”, en la programación lisa y llana, rechazando todo lo que sea objetos hasta que no les queda otra salida que aprender a usarlos mínimamente… pues todas las nuevas herramientas solo hablan “ese” idioma.

¿Hasta donde piensas que podemos llegar con tan poca preparación?

Mi experiencia personal

De lo que trato de hablar en este blog es de “profesionalizarnos”, de copiar y mejorar, de aprender y evolucionar. La mayoría de los temas que expongo no son nuevos, trato de basarme en autores reconocidos y darle más prioridad a los conceptos que al lenguaje, y por sobre todas las cosas: ser simple y directo (pragmático antes que dogmático, pero sin olvidarme de lo último). Hay muchas cosas que desconozco de PHP y otras que directamente no uso, y nunca me baso en la memoria, siempre voy a buscar hasta lo más elemental al manual (doy prioridad al razonamiento por sobre la retención mecánica de conocimientos). Siguiendo esta metodología, mañana deberías poder cambiar de lenguaje y seguir trabajando sin problemas, pues los conceptos base los tendrías claros y estos se aplican sin importar la plataforma que estés usando.

Muchas veces comento que los temas sobre los que escribo son elementales para muchos desarrolladores Java de nivel medio y alto, pero en el ambiente PHP esto cambia (todavía no hemos madurado hacia el concepto de “arquitectura”) donde “en el mundo de los ciegos puedo ser rey”. Debemos cambiar la mentalidad ahora que existe PHP5 y que su nueva sintaxis nos permite hacer muchas cosas que son habituales en el mundo Java.


Por lo tanto, tenemos todas las herramientas para “evolucionar” y no quedarnos en las excusas.

Programador versus Desarrollador

Desarrollar Orientado a Objetos va más allá que crear objetos aislados que solo contienen datos, programar usando algunos objetos es distinto a desarrollar 100% Orientado a Objetos, ser programador es distinto a ser un desarrollador, un sitio web no es lo mismo que un sistema web. Existen, además de los objetos, “Principios de Diseño (OO)”, “Patrones de Diseño (OO)”, el lenguaje de diseño UML, frameworks, etc, y todo es perfectamente aplicable usando PHP.


Es más, muchos de estos conceptos e ideas son independientes al lenguaje si este cumple mínimamente con las características de la OO, cosa que sucede a partir de PHP5 en adelante y que PHP4 casi carece por completo.

Finalmente, es mi visión que un programador resuelve problemas aislados usando un lenguaje, pero un desarrollador diseña e implementa una solución global, une los componentes en un único sistema integrado y es lo suficientemente inteligente y estratega para poder reutilizar la experiencia y conocimientos adquiridos en favor de los próximos desarrollos.

Los sistemas que van quedando atrás nunca serán un lastre porque podrán ser mantenidos con el mínimo costo posible, permitiendo que el desarrollador pueda afrontar nuevos y enriquecedores desafíos.

Todos estos detalles los percibimos claramente cuando nuestros desarrollos dejan de ser un “programa menor” y necesitamos crecer, pero vemos que con los conocimientos que contamos hasta el momento todo se nos hace cuesta arriba.

La culpa es enteramente nuestra

No podemos quejarnos que a los programadores Java se les paga el doble que a nosotros y que a la mayoría de los proyectos PHP se los desvalorice, se los trate como “algo menor”, “poco serio”, todo porque es un “simple lenguaje web” limitado en sus posibilidades.

El “Simple Lenguaje” lo hacemos todos, al ser “Simples Programadores PHP” y nuestras son las limitaciones fundamentales. Perfectamente podemos tratar de trabajar “más seriamente” como lo hacen los “desarrolladores Java”, y tratando con creatividad de suplir las carencias momentáneas (como el muy sonado caso de la falta de “namespaces”).

PHP se está orientando a convertir en una “arquitectura”, a parecerse a un J2EE pero mucho más simple y directo.

El proceso hace tiempo que inició.

Debemos pasar de los dichos a los hechos

De la misma forma, creo que nos hace falta tener más “sentimiento de comunidad”, como sucede habitualmente -hasta de forma exagerada- en el mundo GNU/Linux. No es posible que nos sigamos quejando que los proveedores de hosting siguen usando PHP4. Deberíamos hacer campañas para promover la migración a las nuevas versiones de PHP, pero fundamentalmente, incorporar en nuestros desarrollos las características avanzadas del lenguaje, e invitar a usarlo como si fuera una arquitectura, actualizar a nuestro equipo de desarrolladores, visitar empresas, universidades, etc.


¿Tú, qué vas a hacer? ¿Te vas a quedar donde estás o te vas a subir al tren?

¿Eres parte del problema o parte de la solución?

Tenemos que especializarnos y profesionalizarnos, el mundo pide POO, arquitecturas, capas, etc, y habla en “UML”… tú, en que idioma hablas?

Fuente:

Categories: PHP, PROGRAMACION Tags:

Los “Desarrolladores PHP” debemos profesionalizarnos o quedaremos descartados por obsoletos

Lunes, 20 de Agosto de 2007 Neozeratul Sin comentarios

Esta reflexión se la escribo a todos los “Programadores PHP”:

Al día de hoy la mayoría de los institutos o universidades de muchos países siguen enseñando PHP4, o mejor dicho, programación “scripting” básica. Se mueven en el viejo concepto de la “programación estructurada”, trabajando constantemente sobre código que mezcla html y sintaxis PHP, todo como si de una ensalada estuviéramos hablando.

Casi paralelamente, los jóvenes autodidactas siguen por el mismo camino, tal vez ayudados por la gran cantidad de material repetido y obsoleto que se encuentra tanto en la web como en las editoriales de turno, donde a pesar que un libro haya sido impreso recientemente, los autores siguen siendo los mismos y escribiendo -una y otra vez- sobre los mismos temas elementales.

Enfrentar la realidad con madurez

Solo nos damos cuenta que estamos en un grave problema cuando nos enfrentamos a la realidad: salimos al mercado laboral y con inocente sorpresa vemos que se habla mayoritariamente de Java o .Net, de UML, desarrollos en 3 capas, lógica de negocios, persistencia, polimorfismo, frameworks, patrones de diseño, refactoring… y tú solo tienes una vaga idea de algunos conceptos, pero nulo conocimiento de si es realmente posible hacerlo con PHP…


¿No crees que algo está pasando y que tú estás quedando fuera de la “conversación”?

Este es el gran problema de la mayoría de los “Programadores PHP”: se quedan en el “lenguaje”, en la programación lisa y llana, rechazando todo lo que sea objetos hasta que no les queda otra salida que aprender a usarlos mínimamente… pues todas las nuevas herramientas solo hablan “ese” idioma.

¿Hasta donde piensas que podemos llegar con tan poca preparación?

Mi experiencia personal

De lo que trato de hablar en este blog es de “profesionalizarnos”, de copiar y mejorar, de aprender y evolucionar. La mayoría de los temas que expongo no son nuevos, trato de basarme en autores reconocidos y darle más prioridad a los conceptos que al lenguaje, y por sobre todas las cosas: ser simple y directo (pragmático antes que dogmático, pero sin olvidarme de lo último). Hay muchas cosas que desconozco de PHP y otras que directamente no uso, y nunca me baso en la memoria, siempre voy a buscar hasta lo más elemental al manual (doy prioridad al razonamiento por sobre la retención mecánica de conocimientos). Siguiendo esta metodología, mañana deberías poder cambiar de lenguaje y seguir trabajando sin problemas, pues los conceptos base los tendrías claros y estos se aplican sin importar la plataforma que estés usando.

Muchas veces comento que los temas sobre los que escribo son elementales para muchos desarrolladores Java de nivel medio y alto, pero en el ambiente PHP esto cambia (todavía no hemos madurado hacia el concepto de “arquitectura”) donde “en el mundo de los ciegos puedo ser rey”. Debemos cambiar la mentalidad ahora que existe PHP5 y que su nueva sintaxis nos permite hacer muchas cosas que son habituales en el mundo Java.


Por lo tanto, tenemos todas las herramientas para “evolucionar” y no quedarnos en las excusas.

Programador versus Desarrollador

Desarrollar Orientado a Objetos va más allá que crear objetos aislados que solo contienen datos, programar usando algunos objetos es distinto a desarrollar 100% Orientado a Objetos, ser programador es distinto a ser un desarrollador, un sitio web no es lo mismo que un sistema web. Existen, además de los objetos, “Principios de Diseño (OO)”, “Patrones de Diseño (OO)”, el lenguaje de diseño UML, frameworks, etc, y todo es perfectamente aplicable usando PHP.


Es más, muchos de estos conceptos e ideas son independientes al lenguaje si este cumple mínimamente con las características de la OO, cosa que sucede a partir de PHP5 en adelante y que PHP4 casi carece por completo.

Finalmente, es mi visión que un programador resuelve problemas aislados usando un lenguaje, pero un desarrollador diseña e implementa una solución global, une los componentes en un único sistema integrado y es lo suficientemente inteligente y estratega para poder reutilizar la experiencia y conocimientos adquiridos en favor de los próximos desarrollos.

Los sistemas que van quedando atrás nunca serán un lastre porque podrán ser mantenidos con el mínimo costo posible, permitiendo que el desarrollador pueda afrontar nuevos y enriquecedores desafíos.

Todos estos detalles los percibimos claramente cuando nuestros desarrollos dejan de ser un “programa menor” y necesitamos crecer, pero vemos que con los conocimientos que contamos hasta el momento todo se nos hace cuesta arriba.

La culpa es enteramente nuestra

No podemos quejarnos que a los programadores Java se les paga el doble que a nosotros y que a la mayoría de los proyectos PHP se los desvalorice, se los trate como “algo menor”, “poco serio”, todo porque es un “simple lenguaje web” limitado en sus posibilidades.

El “Simple Lenguaje” lo hacemos todos, al ser “Simples Programadores PHP” y nuestras son las limitaciones fundamentales. Perfectamente podemos tratar de trabajar “más seriamente” como lo hacen los “desarrolladores Java”, y tratando con creatividad de suplir las carencias momentáneas (como el muy sonado caso de la falta de “namespaces”).

PHP se está orientando a convertir en una “arquitectura”, a parecerse a un J2EE pero mucho más simple y directo.

El proceso hace tiempo que inició.

Debemos pasar de los dichos a los hechos

De la misma forma, creo que nos hace falta tener más “sentimiento de comunidad”, como sucede habitualmente -hasta de forma exagerada- en el mundo GNU/Linux. No es posible que nos sigamos quejando que los proveedores de hosting siguen usando PHP4. Deberíamos hacer campañas para promover la migración a las nuevas versiones de PHP, pero fundamentalmente, incorporar en nuestros desarrollos las características avanzadas del lenguaje, e invitar a usarlo como si fuera una arquitectura, actualizar a nuestro equipo de desarrolladores, visitar empresas, universidades, etc.


¿Tú, qué vas a hacer? ¿Te vas a quedar donde estás o te vas a subir al tren?

¿Eres parte del problema o parte de la solución?

Tenemos que especializarnos y profesionalizarnos, el mundo pide POO, arquitecturas, capas, etc, y habla en “UML”… tú, en que idioma hablas?

Fuente:

Categories: PHP, PROGRAMACION Tags:

Prototype 1.6.0 release candidate

Lunes, 20 de Agosto de 2007 Neozeratul Sin comentarios

Ya tenemos nueva versión de Prototype, el framework de Javascript más usado de Internet. En la versión 1.6.0 RC, se han corregido una gran cantidad de bugs y se han añadido mejoras interesantes en todas las secciones del framework.[Descargar]

Categories: AJAX, PROGRAMACION Tags: