Symfony 4
Renovarse o morir
Quién soy?
Alfonso Romero
- Ing. en TI
- PSL Group
- Backend developer
- 6 años desarrollando en PHP
- 2 años con Symfony
- Un godín más del sistema
Agenda
- Historia de Symfony
- Lo nuevo de Symfony
- Diferencias más significativas
- Desarrollo de una API usando Symfony + Flex
- Bundles: api-platform, easyadmin
Números de Symfony
* Mayo 2018
Javier Eguiluz - SensioLabs 2017
Números de Symfony
Nuevos conceptos
- APIs
- Micro servicios
- Middleware
- Web services
- Data streams
- Front End  Back End
Evolución de Symfony
1.x
Monolito Mágico
2.x
+ Componentes + Microservicios
3.x 4.x
Componentes y
Microservicios
Evolución de Symfony
API
API
API
Web App
API
Servicio
Servicio
Servicio Web App
Project VRGS Project VRGS 2.0
Symfony antes:
Symfony ahora:
Renovarse o morir
Flex
Una nueva manera de gestionar aplicaciones en Symfony:
- Reemplaza el instalador estándar de Symfony
- Composer plugin
- Modifica el comportamiento interno composer
- Configuración automática
- Uso de recetas (Symfony.sh)
En pocas palabras:
Flex es un manejador de componentes y dependencias específicas para Symfony, automatizando las tareas de
configuración entre librerías para empezar a codificar al instante.
“Config less, code more”
Recetas
- Reglas
- Configuración
- Enrutamiento
- Uso de aliases
- Uso de recetas oficiales y contrib
- Servidor de recetas (Symfony.sh)
Explican a Symfony el orden y la manera en que se tienen que descargar y configurar
los paquetes
Como funciona:
packagist.org github.com
$ composer req api-platform/api-pack
Como funciona:
packagist.org github.com
$ composer req api-platform/api-pack
Symfony.sh
alias: api
recipe
Symfony 3
--------------------------------------------------------------------------------
Language Files Lines Blank Comment Code
--------------------------------------------------------------------------------
PHP 4651 581894 81261 176343 324290
JSON 1031 251824 10 0 251814
reStructuredText 84 25571 6492 0 19079
Markdown 184 12075 2168 0 9907
YAML 240 5447 316 148 4983
XML 226 5814 826 78 4910
HTML 8 3120 193 0 2927
C 2 1498 224 192 1082
Plain Text 114 808 193 0 615
CSS 3 331 2 8 321
SQL 1 261 38 2 221
Bourne Shell 8 304 63 49 192
Batch 2 122 17 1 104
Python 2 294 69 144 81
Makefile 1 89 15 4 70
C/C++ Header 2 95 19 21 55
INI 10 41 2 2 37
TypeScript 1 10 0 0 10
--------------------------------------------------------------------------------
Total 6570 889598 91908 176992 620698
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Language Files Lines Blank Comment Code
--------------------------------------------------------------------------------
PHP 1713 195887 29717 42557 123613
YAML 230 5192 239 135 4818
XML 231 4729 542 38 4149
JSON 73 3746 0 0 3746
Markdown 89 3585 867 0 2718
Plain Text 106 1316 354 0 962
Makefile 2 151 27 0 124
INI 8 43 0 0 43
--------------------------------------------------------------------------------
Total 2452 214649 31746 42730 140173
--------------------------------------------------------------------------------
~ 80%
más ligero
Symfony 4
Nueva estructura
No más bundles
No más parametros
DSN para conexiones
Definición de entornos (antes)
Definición de entornos (ahora)
En resumen
- Nueva estructura
- Nuevas herramientas
- Más ligero
- Más rápido
- Más estándar
- Más backend
Demo Time
Pasos a seguir:
- Crear proyecto con composer
- Instalar api-platform, easyadmin, webserver
- Iniciar servidor
- Crear entidad en DB
- Mapear entidad con doctrine
- Editar la entidad
- Configurar Easy Admin/Api-platform
* Nota: Symfony 4 funciona con PHP 7 . 1 en adelante

Symfony 4, renovarse o morir

  • 1.
  • 2.
    Quién soy? Alfonso Romero -Ing. en TI - PSL Group - Backend developer - 6 años desarrollando en PHP - 2 años con Symfony - Un godín más del sistema
  • 3.
    Agenda - Historia deSymfony - Lo nuevo de Symfony - Diferencias más significativas - Desarrollo de una API usando Symfony + Flex - Bundles: api-platform, easyadmin
  • 4.
  • 5.
    Javier Eguiluz -SensioLabs 2017 Números de Symfony
  • 6.
    Nuevos conceptos - APIs -Micro servicios - Middleware - Web services - Data streams - Front End Back End
  • 7.
    Evolución de Symfony 1.x MonolitoMágico 2.x + Componentes + Microservicios 3.x 4.x Componentes y Microservicios
  • 8.
    Evolución de Symfony API API API WebApp API Servicio Servicio Servicio Web App Project VRGS Project VRGS 2.0
  • 9.
  • 10.
  • 11.
  • 12.
    Flex Una nueva manerade gestionar aplicaciones en Symfony: - Reemplaza el instalador estándar de Symfony - Composer plugin - Modifica el comportamiento interno composer - Configuración automática - Uso de recetas (Symfony.sh) En pocas palabras: Flex es un manejador de componentes y dependencias específicas para Symfony, automatizando las tareas de configuración entre librerías para empezar a codificar al instante.
  • 13.
  • 14.
    Recetas - Reglas - Configuración -Enrutamiento - Uso de aliases - Uso de recetas oficiales y contrib - Servidor de recetas (Symfony.sh) Explican a Symfony el orden y la manera en que se tienen que descargar y configurar los paquetes
  • 15.
    Como funciona: packagist.org github.com $composer req api-platform/api-pack
  • 16.
    Como funciona: packagist.org github.com $composer req api-platform/api-pack Symfony.sh alias: api recipe
  • 17.
    Symfony 3 -------------------------------------------------------------------------------- Language FilesLines Blank Comment Code -------------------------------------------------------------------------------- PHP 4651 581894 81261 176343 324290 JSON 1031 251824 10 0 251814 reStructuredText 84 25571 6492 0 19079 Markdown 184 12075 2168 0 9907 YAML 240 5447 316 148 4983 XML 226 5814 826 78 4910 HTML 8 3120 193 0 2927 C 2 1498 224 192 1082 Plain Text 114 808 193 0 615 CSS 3 331 2 8 321 SQL 1 261 38 2 221 Bourne Shell 8 304 63 49 192 Batch 2 122 17 1 104 Python 2 294 69 144 81 Makefile 1 89 15 4 70 C/C++ Header 2 95 19 21 55 INI 10 41 2 2 37 TypeScript 1 10 0 0 10 -------------------------------------------------------------------------------- Total 6570 889598 91908 176992 620698 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Language Files Lines Blank Comment Code -------------------------------------------------------------------------------- PHP 1713 195887 29717 42557 123613 YAML 230 5192 239 135 4818 XML 231 4729 542 38 4149 JSON 73 3746 0 0 3746 Markdown 89 3585 867 0 2718 Plain Text 106 1316 354 0 962 Makefile 2 151 27 0 124 INI 8 43 0 0 43 -------------------------------------------------------------------------------- Total 2452 214649 31746 42730 140173 -------------------------------------------------------------------------------- ~ 80% más ligero Symfony 4
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
    En resumen - Nuevaestructura - Nuevas herramientas - Más ligero - Más rápido - Más estándar - Más backend
  • 25.
  • 26.
    Pasos a seguir: -Crear proyecto con composer - Instalar api-platform, easyadmin, webserver - Iniciar servidor - Crear entidad en DB - Mapear entidad con doctrine - Editar la entidad - Configurar Easy Admin/Api-platform * Nota: Symfony 4 funciona con PHP 7 . 1 en adelante