Symfony Framework
4/5
()
Información de este libro electrónico
Symfony es un framework web escrito en PHP que sigue el paradigma MVC (model-view-controller), cuya curva de aprendizaje necesaria para su uso es baja, es framework bastante fácil de usar. Está orientado para permitir que los desarrolladores apliquen principios ágiles del desarrollo tales como DRY o XP y enfoqado en la reglas de negocio sin la necesidad de escribir muchos archivos de configuración XML, muy comunes en los frameworks actuales.
Symfony tiene como objetivo construir aplicaciones robustas para entornos empresariales, y dar a los desarrolladores un control total sobre la configuración de elementos tales como la estructura de directorios, bibliotecas externas, casi todo puede ser personalizado.
Actualmente Symfony es usado por el servicio de preguntas y respuestas Askeet y otras muchas más aplicaciones, incluyendo el Yahoo Bookmarks, aplicación con más de 20 millones de usuarios.
Miguel Torres Hernández
Miguel Torres Hernández es consultor y analista de software con más de 10 años de experiencia dirigiendo equipos de desarrollo de aplicaciones web en España y Latinoamérica.
Relacionado con Symfony Framework
Libros electrónicos relacionados
Programación con lenguajes de guión en páginas web. IFCD0110 Calificación: 0 de 5 estrellas0 calificacionesAprende a Programar con Ruby on Rails Calificación: 0 de 5 estrellas0 calificacionesProgramación en Objetive-C con Xcode y GCC Calificación: 0 de 5 estrellas0 calificacionesEl gran libro de Android Calificación: 0 de 5 estrellas0 calificacionesBackbone JS Calificación: 0 de 5 estrellas0 calificacionesUF2176 - Definición y manipulación de datos Calificación: 0 de 5 estrellas0 calificacionesManual de Dreamweaver CS5 Calificación: 0 de 5 estrellas0 calificacionesUF2404 - Principios de la programación orientada a objetos Calificación: 0 de 5 estrellas0 calificacionesComputación en la nube 2ed Calificación: 0 de 5 estrellas0 calificacionesUF2218 - Desarrollo de un CMS Calificación: 0 de 5 estrellas0 calificacionesAprender Dreamweaver CS4 con 100 ejercicios prácticos Calificación: 0 de 5 estrellas0 calificacionesBackbone JS. JavaScript Framework. 2ª Edición Calificación: 0 de 5 estrellas0 calificacionesAprende a Programar Swift - Tercera Edición Calificación: 0 de 5 estrellas0 calificacionesPHP Calificación: 0 de 5 estrellas0 calificacionesElaboración de hojas de estilo. IFCD0110 Calificación: 0 de 5 estrellas0 calificacionesAprender Dreamweaver CS5 con 100 ejercicios prácticos Calificación: 0 de 5 estrellas0 calificacionesProgramación Orientada a Objetos en JAVA Calificación: 0 de 5 estrellas0 calificacionesAdministración y auditoría de los servicios web. IFCT0509 Calificación: 0 de 5 estrellas0 calificacionesAprender Dreamweaver CS6 con 100 ejercicios prácticos Calificación: 0 de 5 estrellas0 calificacionesSistemas computacionales Calificación: 0 de 5 estrellas0 calificacionesUF2217 - Lenguaje XML Calificación: 0 de 5 estrellas0 calificacionesCurso avanzado de Java: Manual práctico Calificación: 0 de 5 estrellas0 calificacionesJava básico Calificación: 0 de 5 estrellas0 calificacionesApps HTML5 para móviles: Desarrollo de aplicaciones para smartphones y tablets Calificación: 0 de 5 estrellas0 calificacionesAprender las mejores aplicaciones para Android con 100 ejercicios prácticos Calificación: 0 de 5 estrellas0 calificacionesPHP: Programación web avanzada para profesionales Calificación: 0 de 5 estrellas0 calificacionesWindows 10 Mobile: SISTEMAS OPERATIVOS Calificación: 0 de 5 estrellas0 calificacionesManual de 3DS Max 2011 Calificación: 0 de 5 estrellas0 calificacionesJava a fondo: Estudio del lenguaje y desarrollo de aplicaciones Calificación: 0 de 5 estrellas0 calificacionesEl gran libro de Android: 7ª Edición Calificación: 0 de 5 estrellas0 calificaciones
Computadoras para usted
EL PLAN DE MARKETING EN 4 PASOS. Estrategias y pasos clave para redactar un plan de marketing eficaz. Calificación: 4 de 5 estrellas4/5Excel 2021 y 365 Paso a Paso: Paso a Paso Calificación: 5 de 5 estrellas5/5Cómo Eliminar Distracciones: Dispara tu Atención y Concentración Mental con Sencillos Métodos que Puedes Empezar a Usar Hoy Mismo Calificación: 5 de 5 estrellas5/5Seducción con texting: Atrae y seduce las mujeres que deseas con poco esfuerzo dominando el arte de los mensajes de texto Calificación: 4 de 5 estrellas4/5Psicopatología básica Calificación: 4 de 5 estrellas4/5El Arte de las Ventas: Descubre los Secretos de los Mejores Vendedores del Mundo e Incrementa tus Ganancias más Allá de lo que Pensabas Posible Calificación: 0 de 5 estrellas0 calificacionesAPLICACIONES PRACTICAS CON EXCEL Calificación: 5 de 5 estrellas5/5Blockchain: Aplicaciones y Entendimiento En El Mundo Real Calificación: 2 de 5 estrellas2/5Biografía De Elon Musk Calificación: 4 de 5 estrellas4/5Aprende a programar en C# Calificación: 5 de 5 estrellas5/5Cómo Hacer Tu Propia Página Web Gratis Calificación: 4 de 5 estrellas4/5Conquista de las Redes Sociales: 201 Consejos para Marketeros y Emprendedores Digitales Calificación: 5 de 5 estrellas5/5Brand management en 4 pasos: Cómo gestionar la comercialización de su marca mejorando su potencial y eficacia Calificación: 5 de 5 estrellas5/5Fractales De Dios Calificación: 5 de 5 estrellas5/5Inteligencia artificial: Aprender sobre chatbots, robótica y otras aplicaciones comerciales Calificación: 5 de 5 estrellas5/5Las Estafas Digitales Calificación: 5 de 5 estrellas5/5Como Hacer Dinero Con La Impresion 3D: La Nueva Revolucion Digital: COMPUTADORES/ Teoría de Máquinas/Impresoras Calificación: 4 de 5 estrellas4/5Curso de Ingeniería de Software Calificación: 4 de 5 estrellas4/5
Comentarios para Symfony Framework
1 clasificación0 comentarios
Vista previa del libro
Symfony Framework - Miguel Torres Hernández
Miguel Torres Hernández
TABLA DE CONTENIDOS
TABLA DE CONTENIDOS
Introducción a Symfony
ARQUITECTURA
COMPONENTES
BUNDLES
LA PUNTA
DISTRIBUCIONES
MANOS A LA OBRA
INSTALACIÓN
CREACIÓN DE LA PRIMERA PÁGINA
CREAR EL PRIMER BUNDLE
CREANDO LA RUTA
CREANDO EL CONTROLLER
CREAR EL TEMPLATE
RESUMEN———————————————————————————————————————
CREACIÓN DE RUTAS Y MANIPULACIÓN DE DATOS DE LA PETICIÓN
ENRUTAMIENTO
LOS ARCHIVOS DE CONFIGURACIÓN
CONFIGURACIÓN DE RUTAS——————————————————————
PLACEHOLDERS
REQUIREMENTS
REQUISITOS DE MÉTODOS HTTP
DEPURACIÓN DE RUTAS
USANDO EL RUTEAMIENTO PARA GENERAR URLS
CONTROL DEL FLUJO DE SOLICITUD Y RESPUESTA
ACCEDIENDO A LOS DATOS DE LA SOLICITUD
ACCEDIENDO Y GRABANDO COOKIES
ACCEDIENDO Y GRABANDO DATOS EN LA SESIÓN
REDIRECCIONAMIENTO DE LA PÁGINA
ENRUTAMIENTO DE ACTIONS
RESUMEN———————————————————————————————————————
CONFIGURACIÓN————————————————————————————————-
FORMATOS DE CONFIGURACIÓN
ENTORNOS
ANNOTATIONS
RESUMEN———————————————————————————————————————
FORMULARIOS
FORMULARIOS BASICOS
PROCESANDO EL FORMULARIO
VALIDACIÓN—————————————————————————————————————
USANDO ANNOTATIONS PARA CONFIGURAR LA VALIDACIÓN
CONFIGURACIÓN DE VALIDACIÓN PARA GETTERS Y CLASES
GRUPOS DE VALIDACIÓN
CREACIÓN DE TIPOS DE FORMULARIOS PERSONALIZADOS
CREACIÓN DE UN HANDLER DE FORMULARIO
RESUMEN———————————————————————————————————————
PERSISTENCIA——————————————————————————————————-
USANDO EL ORM DOCTRINE2
CONFIGURACIÓN DE LA CONEXIÓN A LA BASE DE DATOS
MAPEANDO UNA ENTIDAD
PERSISTENCIA DE OBJETOS EN LA BASE DE DATOS
RECUPERACIÓN DE UN OBJETO DE LA BASE DE DATOS
ACTUALIZACIÓN DE UN OBJETO DE LA BASE DE DATOS
ELIMINACIÓN DE UN OBJETO DE LA BASE DE DATOS
RECUPERANDO Y PERSISTIENDO UNA ENTIDAD A TRAVÉS DE UN FORMULARIO
RESUMEN———————————————————————————————————————
EL CONTENEDOR DE SERVICIOS
RESUMEN———————————————————————————————————————
El Autor
Introducción a Symfony
ARQUITECTURA
Symfony2 está totalmente basada en la especificación HTTP. Esto significa que además de ser más interoperable con la web, también tiene la simplicidad y la robustez de la misma. El framework se compone de varias capas independientes que van desde los componentes (que implementan las funcionalidades comunes necesarias para el desarrollo web) hasta las distribuciones.
Cuando decimos que el framework se basa en la especificación HTTP, nos referimos justamente al proceso de intercambio de mensajes de la misma. La especificación (a pesar de ser una lectura grande y tediosa) establece básicamente un mecanismo de mensajería, del formato y de los posibles valores para los elementos que componen estos mensajes. Por ejemplo:
Request:
HEAD / HTTP/1.1
Host: www.example.com
Response:
HTTP/1.0 302 Found
Location: http://www.iana.org/domains/example/
Server: BigIP
Connection: Keep-Alive
Content-Length: 0
La petición HEAD anterior solicita la información sobre el recurso disponible en la URL/ en el host www.example.com. Una petición HEAD es similar a una petición GET, excepto que no solicita la devolución de la representación del recurso (por ejemplo, el contenido HTML de una página). En PHP, interactuamos con peticiones y respuestas HTTP de forma implícita casi todo el tiempo:
// Implícita
$uri = $_SERVER['REQUEST_URI'];
$foo = $_GET['foo'];
// Explícita
header('Content-type: text/html');
// Implícita
echo 'The URI requested is: '.$uri.PHP_EOL;
echo 'The value of the foo
parameter is: '.$foo.PHP_EOL;
En Symfony la abstracción de la interacción con HTTP se implementa en los componentes HttpFoundation y HttpKernel.
El componente HttpFoundation contiene los principales objetos para gestionar HTTP:
––––––––
Request: esta clase abstrae las principales variables globales de PHP ($_GET, $_POST, $_COOKIE, $_FILES y $_SERVER)
Response: abstrae funciones y construcciones como header (), setcookie () y echo
Session y SessionStorageInterface: abstraen la gestión de sesión (funciones session _*())
Además de la abstracción de las variables globales, la clase request tiene métodos utilitarios que facilitan el análisis de la solicitud:
use Symfony\Component\HttpFoundation\Request;
$request = Request::createFromGlobals();
// la URL solicitada menos los parámetros de query
$request->getPathInfo();
// devuelve las variables de GET y POST, respectivamente
$request->query->get('foo');
$request->request->get('bar', 'default value if bar does not exist');
// devuelve la variable SERVER
$request->server->get('HTTP_HOST');
// devuelve una instancia de UploadedFile identificado por foo
$request->files->get('foo');
// devuelve el valor de una COOKIE
$request->cookies->get('PHPSESSID');
// devuelve un encabezado de petición HTTP usando claves normalizadas en caja baja
$request->headers->get('host');
$request->headers->get('content_type');
// GET, POST, PUT, DELETE, HEAD
$request->getMethod();
// un array de idiomas que el cliente acepta
$request->getLanguages();
Del mismo modo, Symfony proporciona una clase Response:
use Symfony\Component\HttpFoundation\Response;
$response = new Response();
$response->setContent('
Hello world!
');$response->setStatusCode(200);
$response->headers->set('Content-Type', 'text/html');
// imprime los encabezados HTTP seguido por el contenido
$response->send();
Solamente con estas dos clases es posible interactuar con la solicitud y crear respuestas de forma orientada a objetos. El propósito de una aplicación web es siempre interpretar una solicitud y devolver una respuesta apropiada basada en la lógica de la aplicación.
COMPONENTES
A diferencia de la versión 1.X y 0.X, Symfony2 tiene como base un conjunto de