Desarrollo Rápido de Aplicaciones Web. 2ª Edición
()
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.
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 Desarrollo Rápido de Aplicaciones Web. 2ª Edición
Libros electrónicos relacionados
Symfony Framework Calificación: 4 de 5 estrellas4/5Backbone JS. JavaScript Framework. 2ª Edición Calificación: 0 de 5 estrellas0 calificacionesProgramación Orientada a Objetos en JAVA Calificación: 0 de 5 estrellas0 calificacionesAprende a Programar Ajax y jQuery Calificación: 1 de 5 estrellas1/5UF2218 - Desarrollo de un CMS Calificación: 0 de 5 estrellas0 calificacionesUF1304 - Elaboración de Plantillas y Formularios Calificación: 0 de 5 estrellas0 calificacionesPHP - Creación de páginas Web dinámicas 2a edición Calificación: 0 de 5 estrellas0 calificacionesAcceso a Datos (GRADO SUPERIOR) Calificación: 3 de 5 estrellas3/5Aprende Programación Web con PHP y MySQL Calificación: 4 de 5 estrellas4/5Desarrollo de Interfaces Calificación: 0 de 5 estrellas0 calificacionesHTML5, CSS3 y JQuery Calificación: 0 de 5 estrellas0 calificacionesAplicaciones web con PHP Calificación: 0 de 5 estrellas0 calificacionesJava 17 Programación Avanzada Calificación: 0 de 5 estrellas0 calificacionesOperaciones auxiliares con Tecnologías de la Información y la Comunicación. IFCT0108 Calificación: 0 de 5 estrellas0 calificacionesMantenimiento del software. IFCT0510 Calificación: 0 de 5 estrellas0 calificacionesSeguridad en aplicaciones Web Java: SEGURIDAD INFORMÁTICA Calificación: 5 de 5 estrellas5/5Ciberseguridad para todos. Aprende, protege y responde Calificación: 0 de 5 estrellas0 calificacionesAprende a Programar con Ruby on Rails Calificación: 0 de 5 estrellas0 calificacionesBackbone JS Calificación: 0 de 5 estrellas0 calificacionesAdministración de Sistemas Gestores de Bases de Datos (2ª Edición) Calificación: 0 de 5 estrellas0 calificacionesElaboración y edición de presentaciones con aplicaciones informáticas. ADGG0108 Calificación: 0 de 5 estrellas0 calificacionesUML. Arquitectura de aplicaciones en Java, C++ y Python (2ª Edición) Calificación: 0 de 5 estrellas0 calificacionesDirección de seguridad y gestión del ciberriesgo Calificación: 0 de 5 estrellas0 calificacionesAnálisis de Malware para Sistemas Windows Calificación: 0 de 5 estrellas0 calificacionesProgramación en Objetive-C con Xcode y GCC Calificación: 0 de 5 estrellas0 calificacionesAspectos Jurídicos de la Ciberseguridad Calificación: 0 de 5 estrellas0 calificacionesHacking ético con herramientas Python Calificación: 0 de 5 estrellas0 calificacionesMF0952_2 - Publicación de páginas web Calificación: 0 de 5 estrellas0 calificacionesAprender Dreamweaver CS5 con 100 ejercicios prácticos Calificación: 0 de 5 estrellas0 calificacionesPruebas de funcionalidades y optimización de páginas web. IFCD0110 Calificación: 0 de 5 estrellas0 calificaciones
Informática para usted
Programación de Inteligencia Artificial. Curso Práctico Calificación: 0 de 5 estrellas0 calificacionesCó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/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 calificacionesLas bases de big data y de la inteligencia artificial Calificación: 5 de 5 estrellas5/5Controles PLC con Texto Estructurado (ST): IEC 61131-3 y la mejor práctica de programación ST Calificación: 3 de 5 estrellas3/5Curso de Programación y Análisis de Software Calificación: 4 de 5 estrellas4/5APLICACIONES PRACTICAS CON EXCEL Calificación: 5 de 5 estrellas5/5ChatGPT. Obtén el máximo rendimiento a la Inteligencía Artificial Generativa Calificación: 0 de 5 estrellas0 calificacionesFórmulas y funciones matemáticas con Excel Calificación: 0 de 5 estrellas0 calificacionesEnciclopedia de la Seguridad Informática. 2ª edición Calificación: 4 de 5 estrellas4/5Aprende a Programar ASP .NET y C# - Segunda Edición Calificación: 0 de 5 estrellas0 calificacionesAprende Python desde cero hasta avanzado Calificación: 0 de 5 estrellas0 calificacionesFundamentos de Redes Informáticas Calificación: 4 de 5 estrellas4/5Bases de Datos con MySQL Calificación: 4 de 5 estrellas4/5Minimalismo Digital: Una Guía para Simplificar tu Vida Digital y Vivir con Menos Estrés Calificación: 0 de 5 estrellas0 calificacionesFractales de Dios Calificación: 5 de 5 estrellas5/5Guía de HTML5, CSS3 y Javascript. La Web 2.0 Calificación: 4 de 5 estrellas4/5Introducción A Cloud Computing Calificación: 0 de 5 estrellas0 calificacionesLas Estafas Digitales Calificación: 5 de 5 estrellas5/5Game Design: Estructura lúdica: Diseño de juegos en América latina, #1 Calificación: 4 de 5 estrellas4/5Macros en Excel. Ejemplos prácticos Calificación: 0 de 5 estrellas0 calificacionesEl imperio de los algoritmos: IA inclusiva, ética y al servicio de la humanidad Calificación: 0 de 5 estrellas0 calificacionesCómo hacer tu propia página web gratis: y tu blog gratis Calificación: 5 de 5 estrellas5/5101 Funciones con Excel Calificación: 0 de 5 estrellas0 calificaciones
Comentarios para Desarrollo Rápido de Aplicaciones Web. 2ª Edición
0 clasificaciones0 comentarios
Vista previa del libro
Desarrollo Rápido de Aplicaciones Web. 2ª Edición - Miguel Torres Hernández
TABLA DE CONTENIDOS
TABLA DE CONTENIDOS
CONOCIENDO EL FRAMEWORK
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
DEFINIENDO SERVICIOS
RESUMEN
EDITORIAL
EL AUTOR
CONOCIENDO EL FRAMEWORK
ARQUITECTURA
Symfony2 está totalmente basado 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 componentes independientes que
