Front & Back

Blog sobre el Desarrollo de aplicaciones web

Back end Primeros pasos en Silex framework

Cuando nos acostumbramos a una tecnología, muchos solemos tender a intentar resolver todos los proyectos con la misma. A veces nos encontramos programando scripts en PHP (por ejemplo) que podrían resolverse en algún otro lenguaje que se ajusta mejor a las funciones que necesitamos. El asunto es, que esto mismo me ha ocurrido con Symfony en alguna ocasión, y aún sabiendo de la existencia de Silex, hasta hace poco no me había puesto con ello.

Silex es un microframework basado en Symfony; una herramienta que permite un desarrollo tremendamente ágil y robusto para aplicaciones pequeñas, reduciendo drásticamente el tiempo de programación.

El quid de la cuestión consiste en saber en qué aplicaciones tenemos que usarlo; Symfony posee infinitas funcionalidades y potencia, que probablemente no necesitemos en el desarrollo de un pequeño blog (por ejemplo).

Para empezar, lo mejor es trastear; si ya conoces Symfony, tanto el proceso de instalación como el funcionamiento te será familiar, de lo contrario te recomiendo leer el artículo Cómo instalar Symfony2….

Primeros pasos con Silex framework

La instalación se realiza de la siguiente manera:

 php composer.phar create-project silex/silex __appName__ --stability=dev
Una vez tenemos la instalación, trabajaremos sobre el archivo index.php de nuestro directorio principal.

Una aplicación encargada de servir una plantilla Twig, tendría el aspecto siguiente:
require_once __DIR__.'/../vendor/autoload.php';

$app = new Silex\Application(); //El objeto app contendrá toda nuestra aplicación

$app->register(new Silex\Provider\TwigServiceProvider(), array(
'twig.path' => __DIR__.'/../views',
));//Incluímos Twig en el app para la generación de las plantillas

//Definimos el controlador que devolverá la plantilla renderizada; si necesitamos más de uno, podemos incluirlos uno debajo del otro
$app->get('/my_route', function () use ($app) {
$app['twig']->render('index.html.twig');//Esta plantilla estará por defecto en la ruta ‘views/’
})
->bind('_homepage'); //Damos un nombre al controlador para poder generar la ruta desde (por ejemplo) una plantilla

$app->run(); //Lanzamos la aplicación

Como puedes ver es bastante cómodo y sencillo de usar; si aún no lo conoces te animo a dedicarle un poco de tiempo; merece la pena.