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
UF1306 - Pruebas de funcionalidades y optimización de páginas web Calificación: 0 de 5 estrellas0 calificacionesCurso de Programación y Análisis de Software - 2ª Edición Calificación: 0 de 5 estrellas0 calificacionesIntroducción a PHP Calificación: 0 de 5 estrellas0 calificacionesEl gran libro de Android Calificación: 0 de 5 estrellas0 calificacionesUF2405 - Modelo de programación web y bases de datos Calificación: 0 de 5 estrellas0 calificacionesAprende a Programar ASP .NET y C# - Segunda Edición Calificación: 0 de 5 estrellas0 calificacionesHTML5 Avanzado Calificación: 0 de 5 estrellas0 calificacionesBackbone JS. JavaScript Framework. 2ª Edición Calificación: 0 de 5 estrellas0 calificacionesCurso de Programación Web Calificación: 4 de 5 estrellas4/5Aprender Dreamweaver CS5 con 100 ejercicios prácticos Calificación: 0 de 5 estrellas0 calificacionesProgramación en Objetive-C con Xcode y GCC Calificación: 0 de 5 estrellas0 calificacionesBackbone JS Calificación: 0 de 5 estrellas0 calificacionesDiseño de Software Calificación: 0 de 5 estrellas0 calificacionesLa Guía Básica de Javascript Calificación: 5 de 5 estrellas5/5El gran libro de programación avanzada con Android Calificación: 0 de 5 estrellas0 calificacionesCreación de páginas web con el lenguaje de marcas. IFCD0110 Calificación: 0 de 5 estrellas0 calificacionesCurso de Programación con Java - 2ª Edición Calificación: 5 de 5 estrellas5/5Aprende a Programar en ASP .NET y C# Calificación: 0 de 5 estrellas0 calificacionesAprende a Desarrollar con Spring Framework Calificación: 3 de 5 estrellas3/5Conexión SQL SERVER & C# (Manual para principiantes) Calificación: 1 de 5 estrellas1/5UF1271 - Instalación y configuración del software de servidor web Calificación: 0 de 5 estrellas0 calificacionesAprende a Programar con Ajax Calificación: 0 de 5 estrellas0 calificacionesDesarrollo Web en Java Calificación: 3 de 5 estrellas3/5Curso de Programación con iOS Calificación: 4 de 5 estrellas4/5UF1303 - Elaboración de hojas de estilo Calificación: 0 de 5 estrellas0 calificacionesUF1890 - Desarrollo de componente software y consultas dentro del sistema de almacén de datos Calificación: 0 de 5 estrellas0 calificacionesAprende Programación Web con PHP y MySQL Calificación: 4 de 5 estrellas4/5Fundamentos de Programación y Bases de Datos Calificación: 0 de 5 estrellas0 calificacionesUF1472 - Lenguajes de definición y modificación de datos SQL Calificación: 0 de 5 estrellas0 calificacionesUF2218 - Desarrollo de un CMS Calificación: 0 de 5 estrellas0 calificaciones
Computadoras para usted
Excel 2021 y 365 Paso a Paso: Paso a Paso Calificación: 5 de 5 estrellas5/5Cómo usar Chatgpt para tu negocio Calificación: 0 de 5 estrellas0 calificacionesSeducció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/5Inteligencia artificial: Aprendizaje automático, aprendizaje profundo y procesos de automatización Calificación: 5 de 5 estrellas5/5Inteligencia artificial: Aprender sobre chatbots, robótica y otras aplicaciones comerciales Calificación: 5 de 5 estrellas5/5Psicopatología básica Calificación: 4 de 5 estrellas4/5Como Hacer Dinero Con La Impresion 3D: La Nueva Revolucion Digital: COMPUTADORES/ Teoría de Máquinas/Impresoras Calificación: 4 de 5 estrellas4/5Análisis de datos con power bi, r-rstudio y knime: Curso práctico Calificación: 0 de 5 estrellas0 calificacionesAPLICACIONES PRACTICAS CON EXCEL Calificación: 5 de 5 estrellas5/5Curso de Ingeniería de Software Calificación: 4 de 5 estrellas4/5Aprende a programar en C# Calificación: 5 de 5 estrellas5/5EL PLAN DE MARKETING EN 4 PASOS. Estrategias y pasos clave para redactar un plan de marketing eficaz. Calificación: 4 de 5 estrellas4/5Las Estafas Digitales 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/5Aprende a Programar con Java Calificación: 4 de 5 estrellas4/5Blockchain: Aplicaciones y Entendimiento En El Mundo Real Calificación: 2 de 5 estrellas2/5Fractales De Dios Calificación: 5 de 5 estrellas5/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