Que es Symfony ?

Libro Symfony - La guia definitiva

Symfony es un framework para desarrollo de aplicaciones Web. Tiene una arquitectura MVC (model view controller), ORM (object relational mapper), y un monton de clases predefinidas que nos simplifican la creacion de una aplicacion. En este articulo les muestro lo facil que se instala en Debian Lenny GNU/Linux, y les dejo el link para que descarguen el libro en forma gratuita.

El libro en su version en castellano lo pueden descargar del siguiente link, en donde ademas encontraran otros libros interesantes: Libros gratuitos y originales sobre HTML, CSS, JavaScript, AJAX y otras tecnologías web.

La version en ingles: The Definitive Guide to symfony

Instalacion de symfony en Debian Lenny

Como prerequisitos, debes tener instalado Apache, PHP5 y casi seguro que Mysql tambien. Aqui supondre que ya tienes instalados y configurados estos programas.

Para una instalacion simple, lo mejor es primero instalar PEAR.

$ sudo aptitude install php-pear

$ dpkg -l *pear*
php-pear      5.2.6-2    PEAR - PHP Extension and Application Repository

El paquete symfony de PEAR contiene las librerias symfony y todas sus dependencias. Tambien contiene un script que extiende la linea de comandos e incluye el comando symfony. La instalacion a traves del paquete PEAR es la forma de instalacion recomendada en la documentacion.

El primer paso para instalarlo es agregar el canal symfony a PEAR, con este comando: ( notar que lo ejecuto en modo root)

# pear channel-discover pear.symfony-project.com

Ahora estamos listos para instalar symfony, con este comando:

# pear install symfony/symfony

downloading symfony-1.1.0.tgz ...
Starting to download symfony-1.1.0.tgz (2,130,238 bytes)
.......done: 2,130,238 bytes
install ok: channel://pear.symfony-project.com/symfony-1.1.0

Creando un proyecto

Cada proyecto symfony sigue una estrucutra de directorios predefinida. El comando symfony automatiza la creacion de nuevos proyectos al inicializar el esqueleto del proyecto, con la estructura de directorios y permisos correctos. Asi que para crear un proyecto, simplemente hay que crear un directorio y pedirle a symfony que cree el proyecto:

# mkdir ~/myproject
# cd ~/myproject
# symfony generate:project myproject

Creando la aplicacion

El proyecto aun no esta listo para se visto, porque requiere al menos una aplicacion. Para inicializarla, hay que usar el comando generate:app y pasar como parametro el nombre de la aplicacion:

# php symfony generate:app frontend

Eso creara el directorio frontend/ en la carpeta apps/ en la raiz del proyecto, con una configuracion de aplicacion default y un conjunto de directorios listos para hostear los archivos del sitio web.

Bueno, y hasta aqui llegamos. Si quieres ver como configurar Apache para empezar a probar tu nueva aplicacion, o empezar a estudiar como funciona el framework Symfony, existe excelente documentacion. Puedes empezar por descargar el libro :-)