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
Backbone JS. JavaScript Framework. 2ª Edición Calificación: 0 de 5 estrellas0 calificacionesAprende Programación Web con PHP y MySQL Calificación: 4 de 5 estrellas4/5Programación Orientada a Objetos en JAVA Calificación: 0 de 5 estrellas0 calificacionesUF2218 - Desarrollo de un CMS Calificación: 0 de 5 estrellas0 calificacionesPHP - Creación de páginas Web dinámicas 2a edición Calificación: 0 de 5 estrellas0 calificacionesUF1304 - Elaboración de Plantillas y Formularios Calificación: 0 de 5 estrellas0 calificacionesAprende a Programar Ajax y jQuery Calificación: 1 de 5 estrellas1/5Elaboración de plantillas y formularios. IFCD0110 Calificación: 0 de 5 estrellas0 calificacionesAcceso a Datos (GRADO SUPERIOR) Calificación: 3 de 5 estrellas3/5HTML5, CSS3 y JQuery Calificación: 0 de 5 estrellas0 calificacionesProgramación en Objetive-C con Xcode y GCC Calificación: 0 de 5 estrellas0 calificacionesAnálisis forense informático Calificación: 0 de 5 estrellas0 calificacionesJava 17 Programación Avanzada Calificación: 0 de 5 estrellas0 calificacionesDespliegue y puesta en funcionamiento de componentes software. IFCT0609 Calificación: 0 de 5 estrellas0 calificacionesAdministración de Sistemas Gestores de Bases de Datos (2ª Edición) Calificación: 0 de 5 estrellas0 calificacionesAplicación de técnicas de usabilidad y accesibilidad en el entorno cliente. IFCD0210 Calificación: 0 de 5 estrellas0 calificacionesEl Informe Android Calificación: 5 de 5 estrellas5/5MF0952_2 - Publicación de páginas web Calificación: 0 de 5 estrellas0 calificacionesTypeScript. Curso Práctico. Calificación: 0 de 5 estrellas0 calificacionesAprende a Programar con Ruby on Rails Calificación: 0 de 5 estrellas0 calificacionesSeguridad en aplicaciones Web Java Calificación: 0 de 5 estrellas0 calificacionesUF1467 - Aplicaciones microinformáticas e internet para consulta y generación de documentación Calificación: 0 de 5 estrellas0 calificacionesAplicaciones web con PHP Calificación: 0 de 5 estrellas0 calificacionesDesarrollo Web De Principiante a Profesional con Paga, Volumen 2: Desarrollo Web De Principiante a Profesional con Paga, #2 Calificación: 0 de 5 estrellas0 calificacionesUF1470 - Administración y monitorización de los SGBD instalados Calificación: 0 de 5 estrellas0 calificacionesSistema operativo, búsqueda de información: Internet/Intranet y correo electrónico. ADGD0208 Calificación: 0 de 5 estrellas0 calificacionesProgramación Paginas Web JavaScript y PHP Calificación: 0 de 5 estrellas0 calificacionesNormativa de Ciberseguridad Calificación: 0 de 5 estrellas0 calificacionesDesarrollo de Interfaces Calificación: 0 de 5 estrellas0 calificacionesDomine JavaScript (4ª Edición) Calificación: 0 de 5 estrellas0 calificaciones
Informática para usted
Las bases de big data y de la inteligencia artificial Calificación: 4 de 5 estrellas4/5Curso de Programación y Análisis de Software Calificación: 4 de 5 estrellas4/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/5Aprende a Programar ASP .NET y C# - Segunda Edición Calificación: 0 de 5 estrellas0 calificacionesProgramación de Inteligencia Artificial. Curso Práctico Calificación: 0 de 5 estrellas0 calificacionesAprende a programar en C# 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 calificacionesOprime refrescar: La aventura de redescubrir el alma de Mi Calificación: 4 de 5 estrellas4/5Aprende Python desde cero hasta avanzado Calificación: 5 de 5 estrellas5/5La ley de la Inteligencia Artificial. Parte I Calificación: 0 de 5 estrellas0 calificacionesFundamentos de Redes Informáticas Calificación: 4 de 5 estrellas4/5Macros en Excel. Ejemplos prácticos Calificación: 0 de 5 estrellas0 calificacionesDesarrollo de Interfaces.: Gráficos y diseño web Calificación: 4 de 5 estrellas4/5La Guía Básica de JavaScript Calificación: 4 de 5 estrellas4/5Análisis de datos Calificación: 0 de 5 estrellas0 calificacionesSistemas de Aprendizaje Automático Calificación: 0 de 5 estrellas0 calificacionesMacros con VBA Excel 2021. Curso Completo Calificación: 0 de 5 estrellas0 calificacionesMinimalismo Digital: Una Guía para Simplificar tu Vida Digital y Vivir con Menos Estrés Calificación: 0 de 5 estrellas0 calificacionesControles PLC con Texto Estructurado (ST): IEC 61131-3 y la mejor práctica de programación ST Calificación: 3 de 5 estrellas3/5Diez razones para borrar tus redes sociales de inmediato Calificación: 4 de 5 estrellas4/5Game Design: Estructura lúdica: Diseño de juegos en América latina, #1 Calificación: 4 de 5 estrellas4/5Fundamentos de Programación y Bases de Datos: 2ª Edición Calificación: 0 de 5 estrellas0 calificacionesAprende a Programar con Java Calificación: 4 de 5 estrellas4/5Fractales de Dios Calificación: 5 de 5 estrellas5/5Aprende a Programar en C++ Calificación: 5 de 5 estrellas5/5Vender en Internet - Cómo Ganar Dinero Vendiendo en eBay, Amazon, Fiverr y Etsy Calificación: 4 de 5 estrellas4/5
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
