Sie sind auf Seite 1von 6

EL FRAMEWORK SYMFONY

La Arquitectura Modelo­Vista­Controlador (MVC)

SYMFONY se basa en el diseño web a tres capas MVC.
 El modelo representa la información con la que trabaja la aplicación, resolviendo la lógica de negocio y el 
acceso a los datos
 La vista transforma el modelo en una página web, encargándose de la presentación visual de los datos

 El controlador se encarga de procesar las peticiones del usuario, de decidir cual es la acción que se ejecutará 
a continuación y de realizar los cambios en la vista y en el modelo
Usuario
Petición Internet

Controlador Respuesta

Vista
Modelo

datos
Servidor
José Antonio Morgado Berruezo Desarrollo de Aplicaciones web 
morgadoberruezo@gmail.com con el Framework Symfony y Ajax
EL FRAMEWORK SYMFONY
La Arquitectura Modelo­Vista­Controlador (MVC)

Petición
Internet
Usuario

Controlador
Controlador Frontal
Respuesta

 Acción

Layout

Acceso 
a Datos Lógica
Vista

Abstracción
Base Datos Plantilla
Modelo Vista

datos
Desarrollo de Aplicaciones web 
Servidor
José Antonio Morgado Berruezo con el Framework Symfony y Ajax
morgadoberruezo@gmail.com
CREAR LA APLICACIÓN WEB

Crear el Proyecto

▸ SYMFONY divide un proyecto en aplicaciones, las aplicaciones en módulos y estos contienen las acciones
 SYMFONY divide un proyecto en aplicaciones, las aplicaciones en módulos y estos contienen las acciones
 Todas las aplicaciones comparten el mismo modelo y la base de datos
▸ Los proyectos siguen una estructura de directorios predefinida. Symfony automatiza la 
creación de proyectos creando la estructura básica de directorios siempre que se tengan los 
permisos adecuados.
▸ Nos situamos en nuestro directorio workspace:
Abrimos eclipse y creamos el proyecto libreria. Nota: Esto es para que eclipse lo interprete como 
proyecto
Accedemos desde consola a ese directorio con cd libreria.
Ejecutamos:

Symfony init­project libreria

Desarrollo de Aplicaciones web 
José Antonio Morgado Berruezo con el Framework Symfony y Ajax
morgadoberruezo@gmail.com
CREAR LA APLICACIÓN WEB

Crear la Aplicación

▸ Para crear una aplicación nos introducimos dentro del proyecto y ejecutamos
Symfony init­app backend

  Habiendo creado una estructura de directorios predefinida  para nuestra aplicación

▸ El directorio de publicación web quedaría de la siguiente forma:

    index.php: controlador frontal (produccion)
    de la 1ª aplicación creada (backend.php)
    Para la 2ª aplicación creada el controlador frontal se nombra por
    apliacion.php, en nuestro caso backend.php
    Los entornos de desarrollo serían aplicacion_dev.php, en nuestro
    caso frontend_dev.php y backend_dev.php 

▸ Las imágenes de nuestro proyecto estarán en la carpeta images
del directorio web, los ficheros css y archivos javascripts los almacenamos
en las carpetas css y js respectivamente

Desarrollo de Aplicaciones web 
José Antonio Morgado Berruezo con el Framework Symfony y Ajax
morgadoberruezo@gmail.com
CREAR LA APLICACIÓN WEB

Controladores creados
▸ index.php(controlador frontal del entorno de  ▸ frontend_dev.php (controlador frontal del entorno de 
producción de la aplicación frontend) desarrollo de la aplicación frontend)
<?php <?php

define('SF_ROOT_DIR', realpath(dirname(__FILE__).'/..')); define('SF_ROOT_DIR', realpath(dirname(__FILE__).'/..'));


define('SF_APP', 'frontend'); define('SF_APP', 'frontend');
define('SF_ENVIRONMENT', 'prod'); define('SF_ENVIRONMENT', 'dev');
define('SF_DEBUG', false); define('SF_DEBUG', true);

require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'apps'.DIRECTORY require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'apps'.DIRECTORY_S
_SEPARATOR.SF_APP.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPA EPARATOR.SF_APP.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATO
RATOR.'config.php'); R.'config.php');

sfContext::getInstance()->getController()->dispatch(); sfContext::getInstance()->getController()->dispatch();

▸ backend.php (controlador frontal del entorno de  ▸ backend_dev.php (controlador frontal del entorno de 
producción de la aplicación backend) desarrollo de la aplicación backend)
<?php <?php

define('SF_ROOT_DIR', realpath(dirname(__FILE__).'/..')); define('SF_ROOT_DIR', realpath(dirname(__FILE__).'/..'));


define('SF_APP', 'backend'); define('SF_APP', 'backend');
define('SF_ENVIRONMENT', 'prod'); define('SF_ENVIRONMENT', 'dev');
define('SF_DEBUG', false); define('SF_DEBUG', true);

require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'apps'.DIRECTORY require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'apps'.DIRECTORY_
_SEPARATOR.SF_APP.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPA SEPARATOR.SF_APP.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARA
RATOR.'config.php'); TOR.'config.php');

sfContext::getInstance()->getController()->dispatch(); sfContext::getInstance()->getController()->dispatch();

Desarrollo de Aplicaciones web 
José Antonio Morgado Berruezo con el Framework Symfony y Ajax
morgadoberruezo@gmail.com
José Antonio Morgado Berruezo Desarrollo de Aplicaciones web 
morgadoberruezo@gmail.com con el Framework Symfony y Ajax

Das könnte Ihnen auch gefallen