How-to: Instalación de Symfony, un framework de PHP

How-to: Instalación de Symfony, un framework de PHP

Symfony es PHP. Ni más ni menos. Se trata de un framework que te facilita la vida a la hora de programar una aplicación web, sin la necesidad de profundizar demasiado en el código.

En este artículo-tutorial explicaremos su funcionamiento en líneas generales y además cómo instalarlo en un servidor con Apache.

¿Y qué es lo interesante realmente? Básicamente que utiliza el modelo vista controlador (MVC) y modulariza completamente la aplicación de forma que:

  • Queda dividida en pequeñas aplicaciones llamadas bundles que engloban una funcionalidad completa como por ejemplo: un foro, un chat, una página de pago PayPal, etc.
  • El modelo de datos queda empaquetado con un módulo que se llama doctrine. Tú generas entidades: es decir, defines una tabla en forma de objeto, declarando la clase con sus variables y demás. Y entonces doctrine te crea la tablas de datos correspondientes a esos objetos así como sus propios métodos de acceso. Así de fácil: la base de datos permanece siempre independiente de cualquier posible cambio.
  • El controlador es el cerebro de la aplicación, la lógica que “sabe” qué hacer con nuestros datos.
  • La vista es la parte donde los datos serán representados. De esta forma el controlador, una vez conoce los datos a mostrar, invoca a la vista para decirle: “oye, muestra esto”.

Las rutas a las diferentes partes de la aplicación también son generadas automáticamente. Y al final lo que obtienes es lo siguiente: cuando accedes a la página web primero se invoca al controlador frontal, que consulta el archivo de rutas frontal para saber qué bundle hay que invocar por defecto. Lo que se invoca realmente es el controlador de este bundle, y éste a su vez sabe lo que debe hacer, que normalmente será invocar al modelo para extraer los datos que le hagan falta para, finalmente, mostrar los datos invocando a la vista.

Las URL y las rutas de archivos son todas relativas dentro del bundle, por lo que es fácil importar bundles de terceros en tu aplicación, sencillamente importando la dirección de la carpeta correspondiente.

En cuanto a la vista, se utiliza un motor llamado Twig que por así decirlo, permite imprimir datos en nuestro archivo html más fácilmente de lo que se haría en PHP puro y duro. Ejemplo: el echo se ejecutaría simplemente encerrándolo entre estos operadores: {{ }}.

Instalando Symfony2 en Apache paso a paso

Primero, instalamos el servidor Apache con PHP y todas las dependencias que pudiéramos necesitar. Para ello habría varias formas de hacerlo en función de nuestras necesidades, aunque en este ejemplo instalaremos un servidor LAMP en Ubuntu de forma muy rápida mediante este comando:

sudo apt-get install tasksel lamp-server^ phpmyadmin php5-sqlite php5-intl php-apc

Segundo: descargar Symfony2 desde http://symfony.com/download y descomprimimos en el lugar donde queramos instalar Symfony. En cualquier caso apuntad la ruta porque la usaremos en el siguiente paso.

Tercero, vamos a editar el archivo default para añadir un host virtual.

nano /etc/apache2/sites-available/default

Para ello basta con añadir al principio:

<VirtualHost *:80>
DocumentRoot /tuRuta/Symfony/web
DirectoryIndex app.php
<Directory "/tuRuta/Symfony/web">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>

Cuarto: abrimos el archivo /etc/php5/apache2/php.ini y editamos las siguientes líneas

data.timezone = Europe/Madrid
short_open_tag=Off

Quinto, reiniciar el servidor apache:

sudo services apache2 restart

Sexto: probamos el sistema en la ruta del navegador http://localhost/config.php. Tiene que avisar de que no hay errores ni warnings mediante un mensaje sombreado en color verde.

Séptimo y último, dentro de esta pantalla hacemos clic en Configure your symfony y nos pedirá los parámetros de la base de datos. Cuando le des a Siguiente te dirá que no ha podido escribir un archivo. Para ello copia el texto que aparece y lo sobrescribes por lo que haya en el archivo que te indica.

¡Y eso es todo! Para información más detallada sobre Symfony podéis leer el manual oficial en este enlace. Este tutorial es por cortesía de @pedro_cantoria.

Previous Entendiendo cómo funciona un Láser
Next Review: Linux Mint 13

About author

Angel
Angel 172 posts

Siempre quise ser inventor y escritor: por lo primero me hice ingeniero, y en cuanto a lo segundo, escribo aquí de vez en cuando sobre telecomunicaciones y tecnología. Me gustan los robots, los perretes y los libros (analógicos).

You might also like

Motivación 1Comments

Cómo mejorar tus conocimientos en tecnología potenciando tu visibilidad en la red

A día de hoy raro es el empleo en el que no vas a tener contacto alguno con un ordenador. Debido a esto, es muy importante que nunca dejes de

Generales 1Comments

DrupalCamp Spain 2014

Este fín de semana la capital del Turia ha acogido a la DrupalCamp Spain 2014, a la cual fuí en calidad de ponente. No puedo dejar pasar la oportunidad de

Desarrollo 1Comments

Cómo detectar un dispositivo móvil en Django con Mobi

Cuando estamos programando una aplicación web es probable que necesitemos distinguir si el usuario se conecta desde su dispositivo móvil (tablet, smartphone, iphone, etc) o desde un PC. En función

3 Comentarios

  1. […] La mayoría de Framework te proveerán de una división en “capas”, un ejemplo de ello son los Frameworks basados en el “Modelo Vista Controlador” MVC. Este patrón de arquitectura de software, se basa en separar la interfaz de usuario, de la lógica de la aplicación y del modelo de datos. En este blog hemos escrito algunos artículos hablando sobre el Framework PHP Symfony2, el cual usa la arquitectura MVC. Puedes leer más información en este artículo. […]

Deja un comentario