Lo que he podido ver me ha gustado. Y muy buena interfaz web.
AnónimoDesarrollar aplicaciones web con PHP y Symfony
1 opinión
Consultar extractos del libro
Extracto del libro
Los puntos fuertes del libro:
- Progresividad en el aprendizaje: una estructura pensada para todos los niveles,
- Cobertura completa del ecosistema Symfony 7,
- Aprendizaje práctico reforzado por ejemplos reproducibles
- Nivel Medio a Experto
- Número de páginas 525 páginas
- Publicación julio 2024
- Nivel Medio a Experto
- Publicación julio 2024
Este libro está dirigido tanto al lector que desea adquirir los conocimientos necesarios para aprender a desarrollar aplicaciones web con PHP 8 y el framework Symfony (en su versión 7), como a aquellos que ya poseen conocimientos sobre PHP y desean profundizar en su conocimiento del framework. Partiendo de las bases, el libro guía al lector gradualmente hacia conceptos más avanzados, y no requiere ningún conocimiento previo en el campo de la programación.
Tras una introducción sobre el funcionamiento de un sitio web y las herramientas necesarias para desarrollarlo, el autor presenta los conceptos básicos esenciales del lenguaje PHP: variables, funciones, tipos y operadores de comparación, entre otros. Después, profundiza en el tema con el concepto del lenguaje orientado a objetos y el descubrimiento de herramientas de gestión de dependencias como Composer y Scoop.
Una vez presentados los conceptos fundamentales de PHP, se invita al lector a descubrir Symfony comenzando por la construcción de un sitio básico. Luego, poco a poco, se explican conceptos más complejos como el enrutamiento, el motor de plantillas Twig, el uso de Webpack Encore, la utilización de Symfony Stimulus, la instalación de dependencias con Symfony Flex, la gestión de bases de datos con Doctrine, los formularios, la seguridad (incluida la de una API), los servicios, o incluso el uso de la clase Mailer, para finalizar con el estudio del despliegue de una aplicación.
En cada etapa, se ilustran los conceptos con ejemplos que el lector puede reproducir con la ayuda del código fuente disponible para descargar a partir del sitio www.ediciones-eni.com. Asimismo, se facilita la referencia a la documentación de Symfony para profundizar aún más en la exploración del framework.
Tras una introducción sobre el funcionamiento de un sitio web y las herramientas necesarias para desarrollarlo, el autor presenta los conceptos básicos esenciales del lenguaje PHP: variables, funciones, tipos y operadores de comparación, entre otros. Después, profundiza en el tema con el concepto del lenguaje orientado a objetos y el descubrimiento de herramientas de gestión de dependencias como Composer y Scoop.
Una vez presentados los conceptos fundamentales de PHP, se invita al lector a descubrir Symfony comenzando por la construcción de un sitio básico. Luego, poco a poco, se explican conceptos más complejos como el enrutamiento, el motor de plantillas Twig, el uso de Webpack Encore, la utilización de Symfony Stimulus, la instalación de dependencias con Symfony Flex, la gestión de bases de datos con Doctrine, los formularios, la seguridad (incluida la de una API), los servicios, o incluso el uso de la clase Mailer, para finalizar con el estudio del despliegue de una aplicación.
En cada etapa, se ilustran los conceptos con ejemplos que el lector puede reproducir con la ayuda del código fuente disponible para descargar a partir del sitio www.ediciones-eni.com. Asimismo, se facilita la referencia a la documentación de Symfony para profundizar aún más en la exploración del framework.
Descargas
Introducción
- Introducción
¿Qué significa ser un buen programador?
- Desarrollar aplicaciones web con PHP y Symfony
Las herramientas
- ¿Windows, Mac OS o Linux?
- 1. Windows
- 2. Linux
- 3. Mac OS
- La relación cliente-servidor
- El servidor local
- Visual Studio Code
El lenguaje PHP
- ¿Cómo programar en PHP?
- La base del lenguaje: el primer «Hello World!»
- Las variables en PHP
- Las declaraciones de tipo en PHP
- Las estructuras de control
- 1. La estructura de control if
- 2. Variable booleana
- 3. La estructura de control foreach
- 4. Operador ternario
- Las funciones PHP
- 1. Parámetros de una función
- 2. Valores por defecto de los parámetros
- 3. Retorno de la función
- 4. El tipo de funciones
- a. El tipo de parámetros
- b. El tipo de retorno de una función
El lenguaje orientado a objetos
- Introducción
- Los objetos en programación
- Las clases
- Los objetos
- Las propiedades y los métodos de un objeto
- La razón de la programación orientada a objetos
- El objeto $this
- Los métodos mágicos
- 1. El método __toString()
- 2. Los métodos __get () y __set():visibilidad de los elementos
- 3. Los métodos __constructy __destruct
- Los espacios de nombres
- 1. ¿Por qué definir un espacio de nombres?
- Herencia en clases
- La firma de un método
- Redefinición de un método
- Visibilidad de los elementos en las clases hijas
- Redefinición del constructor de la clase madre
- Las constantes y las variables «static»
- 1. Las constantes
- 2. Las variables «static»
- Las clases abstractas y las interfaces
- 1. Las clases abstractas
- 2. Las interfaces
- Conclusión
Las novedades de PHP 8
- Una pizca de asincronía: las fibras en PHP 8
- Otras novedades interesantes de PHP 8
- 1. Los argumentos pueden tener nombre
- 2. Número de argumentos variable
- 3. Declaración de propiedades en el constructorde la clase
- 4. Operador null seguro
- 5. Las cadenas de caracteres (string)
- 6. Los tipos Union
- 7. Expresión match
- 8. Otras mejoras
Los frameworks
- Un framework: ¿por qué utilizarlo?
- 1. ¿Cuáles son las ventajas?
- 2. ¿Cuáles son las desventajas?
- Los frameworks de PHP
- El framework Symfony
- 1. Presentación del framework
- 2. La documentación
La gestión de dépendencias
- Introducción
- El gestor de dependencias Composer
- Variables de entorno
- Instalación de Composer
- Uso de Composer
- El administrador de dependencias Scoop
Instalación de Symfony
- La configuración correcta
- ¡La instalación del instalador!
- La instalación del proyecto Symfony
- La instalación de Symfony con Composer
- La instalación de una aplicación Symfony ligera
- El test de instalación
- El servidor local de Symfony
Configurar una aplicación
- El archivo .env
- 1. Modificar las variables de entorno en local
- 2. Creación de una nueva configuración
La primera aplicacion
- La estructura de Symfony
- Los controladores
- Las vistas
- El directorio public
- El directorio var
- El directorio vendor
- Otros archivos de la aplicación
- Los componentes de HttpFoundation
- El objeto Request
- El objeto Response
- Las variables de sesión
- 1. La utilidad de las variables de sesión
- 2. El uso de variables de sesión en Symfony
- 3. Las Flash Bags
El enrutado
- Organización de la aplicación
- La importancia de las rutas
- Rutas sin anotaciones
- Los verbos de las rutas
- Los parámetros de las rutas
- Parámetros condicionales
- Validación de parámetros
- La lista de rutas
El motor de plantillas Twig
- La sintaxis
- La herencia
- La inclusión de la vista
- El uso de variables de entorno
- Las sesiones y las Flash Bags en Twig
- 1. Las variables de sesión
- 2. Las Flash Bags
- Cómo incluir CSS y JavaScript en una vista
- Uso de rutas en las vistas
- Los filtros y las funciones
- 1. Los filtros
- 2. Las funciones
Webpack Encore
- Introducción
- Uso de Sass
- Cómo usar Vue.js
- Uso de app.css y app.js en las vistas
Symfony UX Stimulus
- Introducción
- Symfony UX
- 1. Principio de Symfony UX
- 2. ¿Cómo funciona Symfony UX para instalarlos paquetes?
- 3. ¿Cómo instalar Symfony UX?
- 4. ¿Cómo instalar un componente SymfonyUX?
- Symfony Stimulus
- 1. ¿Cómo usar Stimulus para utilizarun componente?
- 2. ¿Cómo utilizar Stimulus para aplicarun componente?
- 3. Symfony UX Stimulus con React
- HotWire y Turbo
- 1. Introducción
- 2. El principio de HotWire
- 3. Symfony UX Turbo
Modelización de datos con Doctrine
- Introducción
- Las bases de datos
- El lenguaje SQL
- El ORM de Symfony: Doctrine
- Las entidades
- Las migraciones
- Las fixtures
- La recuperación de los datos a partir de la base
- Los métodos del Repositorio
- El lenguaje DQL
- El Query Builder
- Cómo lanzar consultas SQL
- Cómo escribir consultas SQL y el tratamiento de los resultados
- Las relaciones entre entidades
- Las relaciones OneToOne
- Las relaciones ManyToMany
- Las relaciones bidireccionales
- Las relaciones bidireccionales con atributos
- El Lazy Loading
- La ingeniería inversa
Los formularios
- Introducción
- Form Builder
- Formularios externos
- 1. Definición
- 2. Uso del formulario externo
- Personalización de la visualización de un formulario
- Tratamiento de datos del formulario
- Recuperación de datos de la entidad por defecto
- Añadir los botones de actualización en la vista lista
- Supresión de entidades
- La unión OneToOne
- La unión ManyToMany
- Tipo EntityType
- Creación de tipos de campos personalizados
- Validación de los formularios
- 1. Reglas de validación
- 2. Servicio Validator
- 3. Asserts en los métodos de acceso (accessors)
- 4. Restricciones de validación en un Callback
- 5. Restricciones de validación en la clase
- 6. Grupo de registro
- 7. Creación de restricciones a medida
- 8. Personalización de los mensajes de error:los fragments
La seguridad
- Introducción
- La autenticación
- La autorización
- 1. access_control
- 2. Acceso controlador
- 3. Acceso a la acción
- 4. Acceso a la vista
- La seguridad de una API
- 1. Preparar la clase Usuario
- 2. Crear la clase Authenticator
- 3. Configurar el archivo security.yaml
- 4. Agregar usuarios para el acceso a la API
- 5. Comprobar el funcionamiento de la API
Personalización de las páginas de error
- Presentación
Internacionalización
- Introducción
- El principio de la traducción
- La variable local
- Los catálogos de traducción
- Los elementos para traducir
- Las variables en las traducciones
- La ayuda para actualizar los catálogos
- La organización de los catálogos
- La gestión del plural
- La traducción de los mensajes de las restricciones de validación
- El uso del nombre de dominio
Los servicios
- Recordatorio sobre los espacios de nombres
- ¿Qué es un servicio?
- Uso de los servicios
- Creación de su propio servicio
- Cómo inyectar un servicio dentro de otro servicio
La clase Mailer
- Instalación y configuración
- Envío de e-mails
- Uso de una plantilla
Despliegue de la web en producción
- Introducción
- Gestión del rendimiento
- 1. La memoria caché HTTP
- 2. Configuración de caché en los controladores
- El entorno de producción
- Comprobar la seguridad de las dependencias
- Preparar el servidor de producción
- Desplegando la aplicación
- 1. Desplegando vía FTP
- 2. Desplegando via herramientas open source
- 3. Desplegando vía el Cloud
Conclusión
- Conclusión

Yves ROCAMORA
Ingeniero informático diplomado por la ENSIMAG, Yves ROCAMORA ha trabajado en el ámbito de las nuevas tecnologías para grandes empresas como Gaz de France, La Poste (servicio de Correos), Université Paris Diderot, Studios Eclair… En 2015 pasa a formar parte del centro de formación Dawan como profesor de tecnologías web. En 2020 se unirá a ORSYS, empresa líder en el sector de la formación, como ingeniero pedagógico, en el servicio de Oferta y Calidad, donde ha sido responsable del área de Tecnologías Digitales. Con este libro, el autor nos transmite su vasto conocimiento y experiencia en el mundo de la programación web con PHP y Symfony.
Más información