Disección de una aplicación Symfony – Paso 2
En la pasada publicación les mostré el resultado final. Es hora de ir paso a paso a ver como llegamos al mismo. Antes de seguir pongamos en claro que cosas asume este blog:
- El lector es un desarrollador con experiencia (preferentemente en PHP). Estos no son publicaciones sobre PHP sino sobre Symfony.
- El lector ya ha leído y sabe cómo configurar Symfony localmente para realizar sus proyectos. Tengo pensado aportar algo para los recién iniciados sobre ejemplos de configuración en servidores de producción (hostings externos), sobre detalles que me han dado algún dolor de cabeza, pero no hablaremos de eso ahora. Asumimos que el APACHE funciona y esta configurado bien.
- El desarrollo fue sobre Windows 7 o sea que los comandos y explicaciones pueden migrarse a la plataforma que más les guste.
El proyecto, la aplicación y el primer módulo
Lo primero fue crear el proyecto para eso cree un directorio con el nombre de la aplicación, luego me posicioné dentro de dicho directorio y ejecuté el comando de creación de proyectos desde la consola.
Una vez hecho esto, lo que hacemos es crear una aplicación frontend desde la consola con el siguiente comando (posicionado en el directorio del proyecto).
En este punto si fueramos al navegador deberíamos ver la pantalla por defecto de Symfony.
En este punto lo que normalmente hacemos es, crear un módulo por defecto nuestro (al cual llamaremos home en este caso). Luego agregaré código en el main.css (para darle un mejor estilo a mi página de inicio) y obviamente retocaré la página layout.php para que luzca como yo quiero.
Para lograr que todo esto funcione veamos todos los archivos que modificamos. Primero creamos el módulo desde la línea de comando:
Luego modificamos la configuración de las rutas para que apunten a nuestro nuevo módulo.
homepage:
url: /
param: { module: home, action: index }
Modificamos también el view.yml para agregar el título de la aplicación, especificar el CSS que vamos a usar en caso que cambiemos el por defecto y configuramos la codificación del idioma de la página.
metas:
title: Pending tasks
description: Web app for managing tasks
keywords: task todo
language: en
#robots: index, follow
stylesheets: [main.css]
Una vez hecho esto, generalmente hacemos los arreglos en el layout.php genérico y agregamos el código css. Posteriormente, no debemos olvidarnos de quitar la siguiente línea del actions.class.php (dejando la línea vacía), del módulo recién creado.
public function executeIndex(sfWebRequest $request)
{
}
Hasta este punto (si no nos olvidamos de nada), deberíamos lograr llegar a algo como esto:
Bueno por esta vez es todo, en la próxima analizaremos el modelo de datos para la aplicación en cuestión.
NOTA DEL AUTOR: Pido disculpas a los lectores ya que la aplicación que estamos viendo está en inglés, esto es porque la utilicé para otros propósitos en los que necesitaba que estuviera en dicho idioma. Sin embargo, toda la explicación seguirá siendo en español.



Estaba tratando de hacer esto y no me funcionaba, por más que modificaba mi archivo routing.yml siempre me cargaba la pagina por defecto de symfony.
Estoy utilizando NetBeans en win7 y lo que me funcionó fue ejecutar un “clear cache” click derecho al proyecto > symfony > clear cache
Buen post amigo, saludos.