Delirios de un Informático

Instalar Phalcon en el PHP “nativo” de Mac OS X

Phalcon es un excelente framework para PHP con la particularidad de estar programado en C como una extensión del lenguaje. Ha evolucionado muchísimo y se ha convertido, en mi opinión, en uno de los frameworks más completos e interesantes después de Laravel.

La instalación en Mac puede realizarse con Homebrew pero realiza la instalación de una versión de PHP aparte de la versión nativa de Mac OS X. Si queremos compilar la extensión de Phalcon sin más dependencias, los pasos a seguir difieren un poco de las instrucciones oficiales:

brew install gettext
brew link --force gettext
git clone https://github.com/phalcon/cphalcon
cd cphalcon/build/64bits
git checkout 1.3.4
phpize
./configure --enable-phalcon
make
sudo cp modules/phalcon.so /usr/lib/php/extensions/no-debug-non-zts-20121212

Siguiendo las instrucciones de la web oficial, nos encontramos con dos problemas: el primero es que no localiza el archivo libintl.h (de ahí el uso de Homebrew para instalar GetText) y el segundo es un fallo con _libintl_setlocale en ciertas versiones, que provoca el siguiente error:

dyld: lazy symbol binding failed: Symbol not found: _libintl_setlocale
  Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20100525/phalcon.so
  Expected in: flat namespace

dyld: Symbol not found: _libintl_setlocale
  Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20100525/phalcon.so
  Expected in: flat namespace

Este error se evita haciendo el checkout a la última versión publicada.

Actualizando a Code Igniter Reactor 2.0.0

Hace poco que se lanzó Code Igniter Reactor 2.0.0 con importantes novedades. Los chicos de EllisLab han publicado un changelog completo pero hay algunos detalles que no han agregado al proceso de migración:

  • Core libraries: si habías extendido las librerías CI_Loader o CI_Output deberás crear una carpeta llamada core y moverlas ahí, ya que en esta nueva versión estas librerías se separan de las librerías estándar
  • Ordenación de resultados en Active Record: se han cargado el método orderby() de Active Record para sustituirlo por order_by(), por lo que habrá que realizar el cambio para que funcionen las consultas (Regexxer es una excelente herramienta para estas tareas)
  • Traducciones: podían haber aprovechado para indicar que se ha creado un repositorio de traducciones de donde se pueden descargar ya

El resto de cambios están documentados y no suponen demasiado problema, por eso me encanta Code Igniter :).

.NET Compact Framework para Symbian S60

Sí, como lo leen, vía S60 Multimedia Blog me entero de que Red Five Labs prepara un port del framework .NET para dispositivos Symbian: Red Five Labs enables applications targeting Microsoft’s .NET Compact Framework to run unchanged on Symbian OS powered mobile phones..

Aunque no me guste .NET me parece una excelente noticia, ya que multiplica las posibilidades de este tipo de dispositivos. Ya podía programar en C++ o en Java además de en Python ( con port de Apache y mod_python y todo ) y ahora esto. Tentador comprarse uno ¿eh?….

Trac en la web Zend Framework

En la página del Zend Framework acaban integrar el excelente Trac de Edgewall, lo que supone que podemos visualizar todos los bugs y peticiones pendientes ( o enviar nuevas ), así como ver el código fuente con el historial de cambios de cada archivo ( se usa Subversion ) e incluso sacar diffs.

Lo que no deja de ser curioso es que instalen un gestor ( excelente, nadie lo niega ) programado en Python.