miércoles, 13 de abril de 2011

Espacios de nombres en PHP (PHP Namespaces)

Además del dominio de la programación orientada a objetos y del uso de los arrays asociativos, hay otro elemento que es importante dominar para entender el código de Symfony2. Se trata de los espacios de nombres.

Hay una fantástica explicación  del concepto de espacio de nombres en esta página

Y el manual "oficial" en español se encuentra en http://php.net/manual/es/language.namespaces.php.

Algunos pequeños detalles a destacar:
  • Para entender el uso de "use" hay que tener presente que, tal y como se indica en la documentación, los espacios de nombres de PHP soportan dos formas de usar alias o importar: apodar un NOMBRE DE CLASE, y apodar un NOMBRE DE ESPACIO DE NOMBRES. Observe que importar una función o una constante NO ESTÁ SOPORTADO. He destacado algunas partes del texto en mayúsculas pues he "tropezado" con esto a la hora de entender la lógica de utilización de "use".

miércoles, 6 de abril de 2011

Instalación de APC (Alternative PHP Cache)

APC acelera el funcionamiento de PHP y su uso está altamente recomendado por Symfony.

Hay un completo manual en español en esta página: http://php.net/manual/es/book.apc.php y, en esta otra:  http://docs.moodle.org/en/Installing_APC_in_Windows están detallados (en inglés) los pasos a seguir para llevar a cabo la instalación.

Yo, finalmente, me he limitado a descargar desde http://downloads.php.net/pierre/ el fichero php_apc-3.1-svn20101116-5.3-vc6-x86.zip. Una vez descomprimido, he instalado el fichero php_apc.dll en la carpeta de extensiones de PHP (en mi caso C:\PHP\ext) y he editado php.ini añadiendo extension=php_apc.dll en el apartado "Windows Extensions". El fichero php_apc.pdb también contenido en el ZIP lo he ignorado, ya que desconozco su función.

He rearrancado Apache y verificado que aparece el bloque APC en el consultando un pfpinfo().

Si se instala una versión no adecuada de APC, Windows da directamente un error al intentar arrancar Apache. Esto me ha pasado probando con otros ficheros de http://downloads.php.net/pierre/ que, obviamente, no eran los correctos. Por si sirve de ayuda, el instalador de PHP que utilicé en su momento fue php-5.3.4-Win32-VC6-x86.msi.