Delirios de un Informático

Delirando sobre informática, fotografía, programación, móviles y mucho más desde 2003

return con incude y require en PHP

votar
Archivado en PHP con fecha 28/Nov/2008 - 2 comentarios
Ver en Bitacoras.com - Etiquetado con: , ,

Aún después de años programando en PHP se descubren cosas nuevas. Hoy gracias a mi compañero Luis descubro algo que lleva implementado ¡¡¡desde PHP3!!! pero que nunca se me había ocurrido o no había necesitado: retornar valores con un include o require:

It is possible to execute a return() statement inside an included file in order to terminate processing in that file and return to the script which called it. Also, it’s possible to return values from included files. You can take the value of the include call as you would a normal function. This is not, however, possible when including remote files unless the output of the remote file has valid PHP start and end tags (as with any local file). You can declare the needed variables within those tags and they will be introduced at whichever point the file was included.

Es decir, que si creamos el archivo test.php:

<?php
function test() { }
return 'OK';
?>

Al hacer este include, la variable $res tendría el valor ‘OK’:

$res = include('test.php');

Una vez se conoce esta funcionalidad, puede sacársele partido :)

Via Barrapunto me entero de la salida de la versión final de NetBeans 6.5, que he estado probando desde que salió la primera beta. Todas las novedades pueden verse en este screencast.

21/Nov/2008 | 7 comentarios | En Bitacoras.com

memcache.php como apc.php

votar
Archivado en Software con fecha 11/Sep/2008 - 0 comentarios
Ver en Bitacoras.com - Etiquetado con: , , ,

memcached es un excelente software para cachear datos, muy utilizado en aplicaciones web (dicen que Facebook tiene más de 800 servidores dedicados para memcached), pero no trae de serie ninguna herramienta (sí un API) que permita ver las estadísticas de uso. Para solventar eso, Harun Yayli ha programado un script que muestra los datos de uso de Memcache del mismo modo que lo hace APC (aquí unos ejemplos). Lo interesante es que muestra estadísticas de conexiones, porcentajes de uso y permite visualizar y eliminar los datos cacheados.

NetBeans IDE 6.5 Beta

votar
Archivado en Software con fecha 16/Ago/2008 - 2 comentarios

Ya había hablado de NetBeans como una buena opción para desarrollo web, pero sólo había probado por encima la versión 6.1 Beta. Hoy por curiosidad me descargué la nueva beta 6.5 y me quedé realmente sorprendido.

El plugin para desarrollo con PHP ha avanzado mucho, con nuevas funcionalidades muy interesantes y a su vez sencillas como el resalte de todos los puntos del archivo donde se llama a una función, la búsqueda de puntos desde donde se llama a una función concreta (Find usages), el vínculo a la posicón donde se define una función (Go to declaration).

Una cosa que me ha gustado mucho es la documentación integrada y las ayudas. Un simple control+espacio da una enorme cantidad de información sobre parámetros de funciones, opciones de documentación o propiedades de CSS.

Otra cosa que ha evolucionado mucho son los editores de CSS y JavaScript. En el editor CSS se ha añadido un Style Builder que permite generar mucas de las propiedades automáticamente, con selectores de fuente, borde, posición e incluso paleta de colores. En el editor JavaScript se dispone de escritura predictiva con integración con frameworks como jQuery o Prototype.

Además me parece más que ágil para estar programado en Java, aunque se echa en falta una mejor integración con el sistema operativo (que puede mejorarse un poco añadiendo –laf com.sun.java.swing.plaf.gtk.GTKLookAndFeel en la ejecución) y una mayor personalización del entorno…

Todo esto está haciendo que me piense seriamente dejar el excelente pero pesado Eclipse, y desde luego recomiendo su uso, más de uno se sorprenderá como yo :)

Gráficas para la web

votar
Archivado en Programacion con fecha 4/Ago/2008 - 4 comentarios

A la hora de generar gráficas para utilizar en páginas web, hay muchas alternativas. Todo depende del tipo de la orientación de la aplicación que se desarrolle. Hay muchas aplicaciones comerciales pero para no perder mi fama, hablaré sólo de las alternativas gratuítas (aunque no todas sean OS) y que puedan generarse utilizando PHP.

JavaScript

Las soluciones basadas en JavaScript utilizan el elemento <canvas> de HTML5, que permite la creación de imágenes dinámicas mediante scripts. Eso permite incluso la interactuación con las gráficas en tiempo real. Algunas soluciones implementan también la creación dinámica de imágenes SVG.

  • PlotKit: genera 5 tipos de gráficas con canvas o SVG. Requiere el framework MochiKit.
  • Plotr: port de PlotKit para el framework Prototype.
  • plOOtr: port de PlotKit para el framework MooTools.
  • Flot: destaca por la interactividad (cambios en tiempo real, selección o zoom). Visualmente es más avanzado que PlotKit y requiere el framework jQuery.
  • Flotr: port de Flot para el framework Prototype, del mismo autor del port de PlotKit a Prototype.
  • jQuery Sparklines: genera gráficas tipo Sparkline usando el framework jQuery.

Adobe Flash

Las gráficas basadas en Flash se componen de un archivo SWF que realizan una petición para obtener los datos que generan la gráfica. Tienen la ventaja de ser más vistosas debido al uso animaciones como efectos al crear la gráfica o tooltips para mostrar los valores de los datos en los diferentes puntos, pero el inconveniente de realizar 2 peticiones HTTP para mostrarse.

  • Open Flash Chart: los archivos de datos utilizan JSON y tiene API para PHP y Perl.
  • PHP/SWF Charts: genera 20 tipos de gráficas con archivos de datos XML. Tiene API para PHP y versión de pago.
  • FusionCharts Free: incorpora API para PHP, ASP, JSP, ASP.NET, RoR e incluso Cold Fusion. También permite crear diagramas de Gantt. Los archivos de datos utilizan XML y tiene versión de pago con el doble de gráficas y más funcionalidades.
  • Yahoo! UI Charts: usa JavaScript para crear las gráficas pero Flash para mostrarlas. Todavía está en fase experimental.

Imágenes estáticas

Otra opción es generar imágenes estáticas.

Online

Una nueva modalidad es la creación de gráficas online mediante una API, que permiten descargar la tarea de generarla en un servidor externo. El inconveniente son las limitaciones que establecen los proveedores del servicio.

  • Google Chart: soporta los tipos básicos de gráficas (lineas, areas, barras…) pero incluye dos muy interesantes: mapas y QR-Codes. Tiene límite de 50.000 peticiones/dia y 0.3 megapixels por gráfica.

Seguro que se me escapa alguna. ¿Sugerencias? :)

Cómo instalar PDT en Eclipse 3.4

votar
Archivado en Software con fecha 26/Jun/2008 - 0 comentarios

Ayer se lanzó la versión 3.4 de Eclipse (nombre en clave “Ganymede”) y simultáneamente se actualizaron 23 proyectos asociados (EMF, GEF, Mylyn, WTP…) pero desgraciadamente PDT no se encuentra entre ellos, y habrá que esperar hasta septiembre para ver la versión 1.1.

Mientras, los que queramos utilizar Eclipse 3.4 con PDT, no podemos instalar la versión 1.0.3 (la última estable), por lo que deberemos utilizar la última Integration Build disponible de la versión 1.1, que puede descargarse desde el centro de descargas de PDT.

La instalación, al no estár disponible en el update site debe instalarse de otro modo:

  • Instalar todas las dependencias de PDT (si partimos del paquete Eclipse IDE for Java EE Developers únicamente será necesario añadir DLTK)
  • Descargar y descomprimir PDT en cualquier directorio
  • Acceder al menú Software updates de Eclipse, y en la pestaña Avaliable Software, pulsar en Add site… e indicar la ruta completa a la carpeta eclipse que acabamos de descomprimir
  • Se mostrará PDT como un update site más, instalarlo normalmente

Este método sirve también para instalar cualquiera de las Nightly Builds :)

Hay múltiples alternativas para tener Apache+MySQL+PHP en Windows, pero no había visto nada que, como Server2GO, permitiera un ejecutar y listo desde cualquier dispositivo de almacenamiento (incluso un CD o DVD, y hasta incluye un autorun.inf). Las versiones incluídas son Apache 2.x, MySQL 5.0 y PHP 5.2.x.

22/Jun/2008 | 2 comentarios | En Bitacoras.com

NetBeans como IDE para desarrollo web

votar
Archivado en Programacion con fecha 15/May/2008 - 1 comentario

NetBeans ha sido siempre la competencia directa de Eclipse. Los dos han evolucionado mucho, pasando de ser IDEs casi exclusivos de Java a ser entornos de desarrollo realmente completos para casi cualquier lenguaje de programación: Java, C++, Python, Ruby, PHP…

NetBeans acaba de lanzar su versión 6.1, en la que por primera vez se incluye un plugin para desarrollo con PHP, que además de integrar las funcionalidades básicas en cualquier IDE avanzado (escritura predictiva, resaltado y detección de errores de sintaxis…) ofrece integración con XDebug.

NetBeans, al igual que Eclipse, integra un gestor de plugins que permite instalar cualquiera de las funcionalidades a partir de una instalación base. Podemos así personalizar el entorno de desarrollo necesario para desarrollo web añadiendo el acceso a bases de datos o el control de versiones…

Tras mi enfado con Eclipse me puse a trastear con Vim y buscar ayuditas para lo que necesito (control de versiones, integración de documentación, etc…) y me encontré con VIM for (PHP) Programmers, una interesante presentación con 77 páginas de consejos y trucos que facilitan el trabajo diario…

12/May/2008 | 0 comentarios | En Bitacoras.com

Andrés Nieto comenta en su blog las nuevas posibilidades wp-config.php. ¿Esto debería no haberse implementado desde la versión 1.0?. Para mi un buen archivo de configuración ( archivo, no una tabla en una base de datos ) es la base para una aplicación seria

24/Mar/2008 | 0 comentarios | En Bitacoras.com

Delirios de un Informático :: Gestionado con WordPress :: Alojado en Bitacoras.com :: Licenciado bajo Creative Commons