Jul 11
Probando Eclipse + PHP
icon1 Daniel Hernández | icon2 Eclipse, PHP | icon4 07 11th, 2008| icon3$comentarios = 0 »

En todos los curros que llevo hasta ahora en el mundo de la informática -van 3 proyectos- he utilizado Eclipse como herramienta de desarrollo. Desafortunadamente, sólo en uno de ellos era un Eclipse limpio con un plugin que nos obligaba a tener el cliente y otros pocos que nos facilitaban algunas tareas. En los otros dos casos, el Eclipse llevaba -y lleva- una miríada de plugins por encima que no hacen sino entorpecer el trabajo. Es imposible que tanto plugin haga que la herramienta sea más productiva, yo creo que sería mejor tener varias herramientas separadas. Pero los jefes mandan… aunque no tengan ni puta idea. No es normal que la herramienta que uso ahora, el RSA (Rational Software Architect), ocupe 200 MB en memoria nada más arrancar y que si detecta un cambio en la carpeta plugins o features se tire más de 15 minutos para alzar el vuelo. Es demencial.

Pero Eclipse es una herramienta cojonuda, muy útil por muchas razones. A mí me gusta mucho el resaltado que tiene, por ejemplo, al pinchar en una variable o clase, mostrándote en qué otras partes del código estás usando eso mismo. También puedes ver desde qué clases se está llamando a un determinado método, tiene autocompletado, por supuesto, y montones de otras características muy buenas, paso de hacer una lista aquí cuando habrá otras por ahí mucho más extensas.

De lo que yo quería hablar es del descubrimiento que he hecho hoy. Sabía que había un proyecto por ahí para integrar PHP en Eclipse, es decir, poder usar la poderosa herramienta de IBM para el desarrollo de páginas web con PHP. Y hoy lo he recordado y me he puesto a investigar.

Aunque poco he jugado con los plugins, ya he podido ver algunas cosas muy chulas. Para empezar, parece que vas a poder decirle al proyecto qué dependencias tiene con otros, de manera que si usamos el Zend Framework podemos decirle que haga referencia a ese proyecto. También, estando dentro de un fichero .php, al pulsar la tecla $, se abre el típico panel de autocompletado con la lista de variables predefinidas de PHP. No he ahondado en esto, pero seguramente que dentro de las variables tan usadas como $_SERVER puedas luego elegir qué parte de la variable quieres utilizar. Tiene por supuesto autocompletado y la documentación la coge de la página web oficial, aunque supongo que si queremos disponer de esta documentación offline, podremos descargarla y decirle al plugin dónde la tenemos. Poco más he probado, la verdad. El autocompletado de funciones es exactamente igual que el de Java, dándonos pistas de los argumentos de las funciones y los tipos de valores que devuelven. También en el tema de errores y avisos es muy detallado, dando buenas pistas de qué es lo que está mal o es mejorable. No obstante, esto último me va a dar algunos problemas por unos ficheros de plantillas que uso en las aplicaciones de Zend Framework, aunque ya hablaré de eso más adelante.

Y una característica que me ha gustado mucho es que puedes decirle que ejecute un fichero .php como una página web. Automáticamente, el plugin te pregunta por la url con la que debe ejecutar el .php y una vez aceptado te muestra el resultado en una nueva pestaña que abre a tal efecto. Yo lo he probado en linux y ha cogido él solito el servidor y ha ejecutado en él la página que estaba probando y la ha mostrado en el propio Eclipse.

Tengo que seguir probando este conjunto de plugins, pero lo poco que he podido ver tiene muy buena pinta. En cuanto haya hecho más pruebas y desarrollado alguna cosilla con su ayuda, os contaré algo más en detalle ;)

El plugin se llama PDT (PHP Development Tools - podéis reíros, estos desarrolladores ponen los nombres en inglés con una alegría…) y podéis echarle un vistazo a su página oficial.

Jun 15
Javascript y PHP
icon1 Daniel Hernández | icon2 Javascript, PHP | icon4 06 15th, 2008| icon3$comentarios = 4 »

He estado esta tarde programando una migración de una base de datos para un amigo (bueno, esta tarde he terminado el script). Y ahora que ya lo tengo terminado y funciona todo bien y tal, pues quería aprovechar para practicar un poco con interfaces dinámicos con javascript y AJAX.

Lo que yo tengo es un script PHP que hace varios selects a una base de datos y luego va insertando cada fila en otra base de datos, además de inserts adicionales por aquello de las relaciones entre tablas, para que funcione todo. Sin saber nada de AJAX yo pensaba que permitía comunicar bidireccionalmente servidor con cliente. Pero después de buscar un poco, la conclusión a la que puedo llegar es que no. AJAX te sirve para hacer peticiones concretas al servidor una vez la página está ya servida. Mi gozo en un pozo.

Lo que yo quería hacer era ir mostrando unas barras de progreso a medida que iba insertando filas en la base de datos, pero por lo que veo me va a resultar un poco imposible. Se me ha ocurrido una solución un tanto extraña, pero que creo que va a funcionar.

La idea es la siguiente: cargar la página y, una vez cargada, mediante el conocido evento onLoad de javascript, arrancar una función javascript que vaya llamando al script de PHP. De esa forma conseguiré ir actualizando las barras de proceso en tiempo real, pero me temo que va a tardar bastante más en ejecutar. Bueno, habrá que probarlo.

Ya os contaré.

Jun 11

Las MakTools comienzan a tomar forma. Una forma cutre y que no sirve para nada, pero tienen :P

Hoy he empezado a desarrollar las maktools. De momento sólo tengo una página que muestra un listado con las futuras herramientas que habrá disponibles. Apenas sin estilos y sin poder hacer otra cosa que ver ese listado. Pero bueno, ya le voy cogiendo el tranquillo al Zend Framework, que es lo realmente importante de todo esto. He conseguido que funcione tanto en local como en el hosting, incluyendo un acceso a base de datos, que es donde están almacenadas las herramientas de la lista que se puede ver.

En fin, poco a poco iré desarrollando las herramientas. La primera de ellas se llamará zfpc (Zend Framework Project Creator) y la intención es que cree un árbol de directorios y una serie de ficheros y los comprima en un zip que se pueda bajar el usuario. El contenido del zip será una aplicación Zend Framework con un hola mundo. Servirá únicamente para que dando un nombre de carpeta se obtenga el árbol de directorios y los ficheros imprescindibles para comenzar a desarrollar la aplicación. Puede parecer una tontería, pero estoy seguro de que ahorrará mucho tiempo a los que lo usen ;)

Por el momento, nada más. La dirección de las maktools es http://maktools.dhernandeza.com.

Jun 5

Ayer estuve en la página oficial del Zend Framework y estuve viendo unos screencasts grabados por un tal Mitchell Hashimoto en los que explicaba cómo montar tu primera aplicación con el framework. En inglés, claro, y, como siempre, se olvidaba de la parte que quizá sea la más importante: la instalación y configuración del servidor. Además, la mayoría de la ayuda y tutoriales acerca del Zend Framework que puedes encontrar está en inglés, así que he pensado que a medida que vaya aprendiendo a utilizarlo voy a ir grabando mis propios vídeos a modo de tutorial, comenzando por uno en el que me instale el servidor desde cero, para que así cualquiera pueda empezar a programar con este framework que tanto me está gustando.

Así que, voy a ver si busco programitas con los que capturar vídeo y audio a la vez y voy haciendo algunos screencasts de esos de prueba ;)

Con un poco de suerte, aprenderé a montar aplicaciones chulas y me quedarán unos tutoriales guapos (baja Modesto…) :P

Jun 4

¡Está vivo! -que dirían otros ;P

Acabo de llevar a cabo la primera prueba para ver si funciona el Zend Framework en el hosting y ¡funciona! Lo podéis comprobar en la url temporal zftest.dhernandeza.com. No se puede llamar ni aplicación a la prueba, que lo único que hace es mostrar una pantalla en blanco con la típica frase ‘Hello World’.

Pero la cuestión es que funciona :D Así que, hoy o mañana me pondré a saco con las MakTools ;)