Symfony2, instalando la extensión Text de Twig en Symfony 2.7

Sigo estudiando y haciendo pruebas con Symfony2 (2.7), ahora he querido usar el filtro truncate de la extensión Text del motor de plantillas Twig.

En todas las webs que he consultado dice que es muy simple, que simplemente añadiendo al fichero app/config/config.yml (o app/config/services.yml) lo siguiente, es más que suficiente:

services:
twig.extension.text:
class: Twig_Extensions_Extension_Text
tags:
– { name: twig.extension }

En mi caso no ha funcionado, siempre me salía este error cargando cualquier página de mi proyecto:

[Symfony\Component\Debug\Exception\ClassNotFoundException] Attempted to load class “Twig_Extensions_Extension_Text” from the global namespace. Did you forget a “use” statement?

Googleando veo que es necesario instalar dichas extensiones antes con la ayuda del composer:

composer require twig/extensions

Pero al ejecutarse me informa que Twig va por la versión 1.3, y que no puede instalar la extensión en el Twig de mi Symfony 2.7, que es la versión 1.18.2, que como mínimo necesita la 1.20.

Total, finalmente me decido por desinstalar el Twig, instalarlo de nuevo, y luego instalar las extensiones.

composer remove twig/twig

composer require twig/twig

composer require twig/extensions

Con esto lo que he hecho es quitar la versión Twig (1.18.2) que traía mi Symfony2 (2.7), instalar el Twig (me ha instalado el 1.21), y luego instalar las extensiones.

Por lo que ahora lo único que hay que hacer es activar dichas extensiones en el servicio Twig (fichero app/config/config.yml o app/config/services.yml):

services:
twig.extension.text:
class: Twig_Extensions_Extension_Text
tags:
– { name: twig.extension }

Y ya podemos usar la extensión Text en nuestro proyecto, por ejemplo, podemos usar los filtros truncate y wordwrap.

 

 

 

 

 

 

 

Symfony2, instalar Composer en Windows

Instalar Composer en WIndows, es tan simple como ir a la web https://getcomposer.org/download/ descargar el instalador para Windows y ejecutarlo.

Los pasos del asistente son bien fáciles, destacando únicamente que hay que buscar y especificar la ruta donde se encuentra nuestro php.exe instalado, en mi caso D:\xampp\php\php.exe.

Symfony2, instalación en WAMP

Lo primero es tener un entorno WAMP operativo en nuestro PC, en mi caso me descargué e instalé XAMPP.

Después de instalarlo, y para poder ejecutar PHP desde línea de comandos desde cualquier unidad/directorio, añadí a la variable de entorno PATH la ruta donde se me ha instalado PHP, en mi caso D:\xampp\php. En este enlace hay una ayuda de como añadir/modificar variables de entorno en Windows.

Lo segundo es descargar la edición estándar de Synfony2 (en este momento la última versión es la 2.7). En la página anterior están las instrucciones para instalarlo, en concreto lo que yo hice fue:

Abrir consola de Windows (cmd) e irme al directorio htdocs de mi servidor localhost (en mi caso D:\xampp\htdocs.

cd D:\xampp\htdocs

d:

Siguiendo las instrucciones de la web de Symfony2, ejecutar:

php -r “readfile(‘http://symfony.com/installer’);” > symfony

Veremos que ahora tenemos un fichero llamado ‘symfony’ en D:\xampp\htdocs.

Nos crearemos un primer proyecto web Symfony2 de prueba llamado test01:

php symfony new test01

Esto automáticamente nos creará toda la estructura de carpetas y ficheros necesarios para empezar a crear un nuevo proyecto Symfony2, en nuestro caso llamado test01, usando la última versión estable disponible. Este proceso puede llevar algún tiempo, en mi caso tardó un par de minutos.

Para comprobar si se ha instalado correctamente ejecutaremos desde el navegador:

http://localhost/test01/web/config.php

Esta web nos permite realizar algunas configuraciones para nuestro proyecto, es lo mismo que modificar manualmente el fichero test01/app/config/parameters.yml.

Es probable que en la web anterior se nos indiquen algunos aspectos o configuraciones de PHP a mejorar, es recomendable realizarlo, no obstante no es estrictamente imprescindible hacerlo para continuar con el proyecto demo (test01) que tenemos entre manos.

Si ejecutamos la siguiente web, pasaremos a configurar nuestra aplicación demo, para ello, antes, nos crearemos en nuestro MySQL local, una base de datos llamada, también, test01.

http://localhost/test01/web/app_dev.php/_configurator/

Desde aquí un cómodo asistente nos preguntará por los siguientes aspectos de nuestra futura web:

  • Base de datos principal.
  • Código secreto (con aceptar la cadena aleatoria proporcionada automáticamente es suficiente).

Finalmente el proceso termina, nos da la enhorabuena y nos informa que ha sobreescrito algunos parámetros en test01/app/config/parameters.yml.

Finalmente si ejecutamos desde el navegador:

http://localhost/test01/web/

Nos aparecerá una web de bienvenida. Ya tenemos listo todo para empezar a codificar nuestra aplicación Symfony2 🙂

Screenshot_2