SlideShare uma empresa Scribd logo
1 de 19
Symfony Flex
PHP Community Summit 2018
Objetivos
Evolução dos Frameworks PHP
Qual o problema o Flex resolve
O que é o Symfony Flex
O que mudou com o Flex
Primeiros Passos
> whoami
Software & DevOps Engineer
Instrutor
PHP Community Summit 2018
Evolução dos
Frameworks
PHP Community Summit 2018
1ª fase - Primeiros Frameworks
• Lançamento do PHP 4 - 2001
• Criação do Wordpress - 2003
• Surgimento dos primeiros frameworks Fullstack (Symfony, Zend
Framework, CodeIgniter) - 2006
• Colisão de nomes de classes – Database / Zend_Database
• Reuso dos componentes e padronização Autoload
PHP Community Summit 2018
2ª fase - Modularização dos Frameworks
• Namespaces com PHP 5.3 – 2009
• Spl_Autoload e PSR-0 – 2010
• Lançamento do Composer - 2012
• Symfony 2, Zend Framework 2 e Laravel 4 – 2013
• Dificuldades em integrar componentes
• Microserviços
PHP Community Summit 2018
3ª fase - Componentes e Micro frameworks
• Slim - 2011
• Silex (RIP) - 2011-2018
• The PHP League - 2013
• Criação de novas PSRs
• HTTP
• Cache
• Container Interface
• Zend Expressive - 2016
PHP Community Summit 2018
Comparação
PHP Community Summit 2018
• Micro framework
• Leve
• Altamente customizável
• “Rápido”
• Ideal para cenários com micro serviços
• Framework Fullstack
• Completo (funcionalidades)
• Integrado
• Padronizado
• Fácil de deployar
E se você pudesse ter ambos?
PHP Community Summit 2018
O que é o Symfony Flex
Nova forma de instalar e gerenciar uma aplicação Symfony
Compatível a partir do Symfony 3.3
Plugin do Composer
Foco na automação de tarefas
Começar como um microframework
Incluir novos components sob demanda
Estrutura de diretórios
PHP Community Summit 2018
symfony/skeleton
PHP Community Summit 2018
symfony/website-skeleton
PHP Community Summit 2018
Demo
Hello World
PHP Community Summit 2018
Symfony Flex Recipes
PHP Community Summit 2018
manifest.json
symfony.sh
PHP Community Summit 2018
Demo
Incrementando nosso projeto
PHP Community Summit 2018
Referências
PHP Community Summit 2018
• https://symfony.com/doc/current/setup/flex.html
• https://symfony.sh/
• https://symfony.com/blog/the-end-of-silex
• https://github.com/symfony/skeleton
• https://github.com/symfony/website-skeleton
• https://github.com/symfony/recipes
• https://github.com/symfony/recipes-contrib
• https://symfony.com/doc/current/controller.html
• https://symfony.com/doc/current/doctrine.html
• https://symfony.com/doc/current/logging.html
• https://symfony.com/doc/current/profiler.html
• https://symfony.com/doc/current/service_container.html
• https://www.sitepoint.com/symfony-flex-paving-path-faster-better-symfony/
Obrigado!
PHP Community Summit 2018
Gabriel Machado
gmsantos
gmsantos__
gmsantos
gmsantos

Mais conteúdo relacionado

Mais procurados

TDC2016SP - Por dentro do .Net Core
TDC2016SP - Por dentro do .Net CoreTDC2016SP - Por dentro do .Net Core
TDC2016SP - Por dentro do .Net Coretdc-globalcode
 
ASP.NET Web API no Windows Azure
ASP.NET Web API no Windows AzureASP.NET Web API no Windows Azure
ASP.NET Web API no Windows AzureWaldyr Felix
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontatdc-globalcode
 
Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0Caliel Costa
 
Laravel 5
Laravel 5Laravel 5
Laravel 5DevMT
 
Comunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalRComunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalREduardo Pires
 
Workshop anypoint service mesh
Workshop   anypoint service meshWorkshop   anypoint service mesh
Workshop anypoint service meshRenato de Oliveira
 
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETCampus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETEduardo Pires
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Eduardo Pires
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...MVP ShowCast
 
SpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm ServerSpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm ServerDr. Spock
 
Soluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft OrleansSoluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft Orleansakamud
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacAndre Baltieri
 

Mais procurados (20)

TDC2016SP - Por dentro do .Net Core
TDC2016SP - Por dentro do .Net CoreTDC2016SP - Por dentro do .Net Core
TDC2016SP - Por dentro do .Net Core
 
ASP.NET Web API no Windows Azure
ASP.NET Web API no Windows AzureASP.NET Web API no Windows Azure
ASP.NET Web API no Windows Azure
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
 
Asp.net core
Asp.net coreAsp.net core
Asp.net core
 
Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0
 
Asp.Net Core - Meetup BH
Asp.Net Core - Meetup BHAsp.Net Core - Meetup BH
Asp.Net Core - Meetup BH
 
Laravel 5
Laravel 5Laravel 5
Laravel 5
 
Desvendando ASP.NET MVC
Desvendando ASP.NET MVCDesvendando ASP.NET MVC
Desvendando ASP.NET MVC
 
Comunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalRComunicação em Tempo Real com ASP.Net SignalR
Comunicação em Tempo Real com ASP.Net SignalR
 
ASP .NET Core MVC
ASP .NET Core MVCASP .NET Core MVC
ASP .NET Core MVC
 
Workshop anypoint service mesh
Workshop   anypoint service meshWorkshop   anypoint service mesh
Workshop anypoint service mesh
 
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETCampus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NET
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
 
SpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm ServerSpringSource Tool Suite, tc Server e dm Server
SpringSource Tool Suite, tc Server e dm Server
 
Soluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft OrleansSoluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft Orleans
 
TDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no MacTDC SP 2015 - Criando aplicações ASP.NET no Mac
TDC SP 2015 - Criando aplicações ASP.NET no Mac
 
API Restfull com Laravel
API Restfull com LaravelAPI Restfull com Laravel
API Restfull com Laravel
 
O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)O Futuro do ASP.NET (vNext)
O Futuro do ASP.NET (vNext)
 
ASP.NET vNext – MVC6
ASP.NET vNext – MVC6ASP.NET vNext – MVC6
ASP.NET vNext – MVC6
 

Semelhante a Symfony Flex: evolução dos frameworks PHP e o que é o Symfony Flex

PHP Symfony, Vale A Pena
PHP Symfony, Vale A PenaPHP Symfony, Vale A Pena
PHP Symfony, Vale A PenaMarcelo Fleury
 
Symfony Flex & Dependency Injection @ Symfony Live São Paulo 2019
Symfony Flex & Dependency Injection @ Symfony Live São Paulo 2019Symfony Flex & Dependency Injection @ Symfony Live São Paulo 2019
Symfony Flex & Dependency Injection @ Symfony Live São Paulo 2019Gabriel Machado
 
Desenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDesenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDomingos Teruel
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo maisakamud
 
Symfony - PHP pra gente grande
Symfony - PHP pra gente grandeSymfony - PHP pra gente grande
Symfony - PHP pra gente grandeLuã de Souza
 
Desenvolvendo aplicações RIA - Marcel Araujo
Desenvolvendo aplicações RIA - Marcel AraujoDesenvolvendo aplicações RIA - Marcel Araujo
Desenvolvendo aplicações RIA - Marcel AraujoTchelinux
 
Flash Platform + Zend Amf
Flash Platform + Zend AmfFlash Platform + Zend Amf
Flash Platform + Zend AmfMiguel Pinto
 
Descobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEB
Descobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEBDescobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEB
Descobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEBelliando dias
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Composer dependency manager
Composer   dependency managerComposer   dependency manager
Composer dependency managerVitor Mattos
 
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?tdc-globalcode
 
Orquestrando Aplicações PHP com Symfony
Orquestrando Aplicações PHP com SymfonyOrquestrando Aplicações PHP com Symfony
Orquestrando Aplicações PHP com SymfonyFlávio Lisboa
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Vinícius de Paula
 
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework CoreUm novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework CoreRogério Moraes de Carvalho
 
CakePHP + Adobe Flex®, v2
CakePHP + Adobe Flex®, v2CakePHP + Adobe Flex®, v2
CakePHP + Adobe Flex®, v2Cauan Cabral
 
Artigo de php
Artigo de phpArtigo de php
Artigo de phprobson
 

Semelhante a Symfony Flex: evolução dos frameworks PHP e o que é o Symfony Flex (20)

PHP Symfony, Vale A Pena
PHP Symfony, Vale A PenaPHP Symfony, Vale A Pena
PHP Symfony, Vale A Pena
 
Symfony Flex & Dependency Injection @ Symfony Live São Paulo 2019
Symfony Flex & Dependency Injection @ Symfony Live São Paulo 2019Symfony Flex & Dependency Injection @ Symfony Live São Paulo 2019
Symfony Flex & Dependency Injection @ Symfony Live São Paulo 2019
 
Desenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDesenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend Framework
 
WP Composer
WP ComposerWP Composer
WP Composer
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais
 
Symfony - PHP pra gente grande
Symfony - PHP pra gente grandeSymfony - PHP pra gente grande
Symfony - PHP pra gente grande
 
Microframeworksphp
MicroframeworksphpMicroframeworksphp
Microframeworksphp
 
Desenvolvendo aplicações RIA - Marcel Araujo
Desenvolvendo aplicações RIA - Marcel AraujoDesenvolvendo aplicações RIA - Marcel Araujo
Desenvolvendo aplicações RIA - Marcel Araujo
 
Flash Platform + Zend Amf
Flash Platform + Zend AmfFlash Platform + Zend Amf
Flash Platform + Zend Amf
 
Symfony2 Básico
Symfony2 BásicoSymfony2 Básico
Symfony2 Básico
 
PHP + Flex
PHP + FlexPHP + Flex
PHP + Flex
 
Descobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEB
Descobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEBDescobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEB
Descobrindo o Potencial do Flex para a Criação de Aplicações Ricas para a WEB
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Composer dependency manager
Composer   dependency managerComposer   dependency manager
Composer dependency manager
 
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
TDC2016POA | Trilha PHP - Por que utilizar o Laravel?
 
Orquestrando Aplicações PHP com Symfony
Orquestrando Aplicações PHP com SymfonyOrquestrando Aplicações PHP com Symfony
Orquestrando Aplicações PHP com Symfony
 
Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.Desenvolvimento Web com Simfony Framework.
Desenvolvimento Web com Simfony Framework.
 
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework CoreUm novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
 
CakePHP + Adobe Flex®, v2
CakePHP + Adobe Flex®, v2CakePHP + Adobe Flex®, v2
CakePHP + Adobe Flex®, v2
 
Artigo de php
Artigo de phpArtigo de php
Artigo de php
 

Mais de Gabriel Machado

Implementando PSR-3 com Monolog
Implementando PSR-3 com MonologImplementando PSR-3 com Monolog
Implementando PSR-3 com MonologGabriel Machado
 
GitHub Actions @ Oktober Cloud 2019
GitHub Actions @ Oktober Cloud 2019GitHub Actions @ Oktober Cloud 2019
GitHub Actions @ Oktober Cloud 2019Gabriel Machado
 
Logs, pra que te quero! @ Meetup PHP Vale
Logs, pra que te quero! @ Meetup PHP ValeLogs, pra que te quero! @ Meetup PHP Vale
Logs, pra que te quero! @ Meetup PHP ValeGabriel Machado
 
Implementando PSR-3 com Monolog @ PHP Community Summit 2019
Implementando PSR-3 com Monolog @ PHP Community Summit 2019Implementando PSR-3 com Monolog @ PHP Community Summit 2019
Implementando PSR-3 com Monolog @ PHP Community Summit 2019Gabriel Machado
 
Pipelines de CI/CD com Azure @ Oktober Cloud
Pipelines de CI/CD com Azure @ Oktober CloudPipelines de CI/CD com Azure @ Oktober Cloud
Pipelines de CI/CD com Azure @ Oktober CloudGabriel Machado
 
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 Gabriel Machado
 
Continuous Delivery com Docker, OpenShift e Jenkins @ TDC FLP 2018
Continuous Delivery com Docker, OpenShift e Jenkins @ TDC FLP 2018Continuous Delivery com Docker, OpenShift e Jenkins @ TDC FLP 2018
Continuous Delivery com Docker, OpenShift e Jenkins @ TDC FLP 2018Gabriel Machado
 
Logs no Laravel 5.6 @ 7masters Laravel
Logs no Laravel 5.6 @ 7masters LaravelLogs no Laravel 5.6 @ 7masters Laravel
Logs no Laravel 5.6 @ 7masters LaravelGabriel Machado
 
Relatórios gerenciais com MySQL @ 7Masters MySQL
Relatórios gerenciais com MySQL @ 7Masters MySQLRelatórios gerenciais com MySQL @ 7Masters MySQL
Relatórios gerenciais com MySQL @ 7Masters MySQLGabriel Machado
 
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Gabriel Machado
 
Logs, pra que te quero! @ TDC SP 2017
Logs, pra que te quero! @ TDC SP 2017Logs, pra que te quero! @ TDC SP 2017
Logs, pra que te quero! @ TDC SP 2017Gabriel Machado
 
Novidades do Laravel 5.3 @ 11º Meetup Laravel SP
Novidades do Laravel 5.3 @ 11º Meetup Laravel SPNovidades do Laravel 5.3 @ 11º Meetup Laravel SP
Novidades do Laravel 5.3 @ 11º Meetup Laravel SPGabriel Machado
 

Mais de Gabriel Machado (12)

Implementando PSR-3 com Monolog
Implementando PSR-3 com MonologImplementando PSR-3 com Monolog
Implementando PSR-3 com Monolog
 
GitHub Actions @ Oktober Cloud 2019
GitHub Actions @ Oktober Cloud 2019GitHub Actions @ Oktober Cloud 2019
GitHub Actions @ Oktober Cloud 2019
 
Logs, pra que te quero! @ Meetup PHP Vale
Logs, pra que te quero! @ Meetup PHP ValeLogs, pra que te quero! @ Meetup PHP Vale
Logs, pra que te quero! @ Meetup PHP Vale
 
Implementando PSR-3 com Monolog @ PHP Community Summit 2019
Implementando PSR-3 com Monolog @ PHP Community Summit 2019Implementando PSR-3 com Monolog @ PHP Community Summit 2019
Implementando PSR-3 com Monolog @ PHP Community Summit 2019
 
Pipelines de CI/CD com Azure @ Oktober Cloud
Pipelines de CI/CD com Azure @ Oktober CloudPipelines de CI/CD com Azure @ Oktober Cloud
Pipelines de CI/CD com Azure @ Oktober Cloud
 
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
 
Continuous Delivery com Docker, OpenShift e Jenkins @ TDC FLP 2018
Continuous Delivery com Docker, OpenShift e Jenkins @ TDC FLP 2018Continuous Delivery com Docker, OpenShift e Jenkins @ TDC FLP 2018
Continuous Delivery com Docker, OpenShift e Jenkins @ TDC FLP 2018
 
Logs no Laravel 5.6 @ 7masters Laravel
Logs no Laravel 5.6 @ 7masters LaravelLogs no Laravel 5.6 @ 7masters Laravel
Logs no Laravel 5.6 @ 7masters Laravel
 
Relatórios gerenciais com MySQL @ 7Masters MySQL
Relatórios gerenciais com MySQL @ 7Masters MySQLRelatórios gerenciais com MySQL @ 7Masters MySQL
Relatórios gerenciais com MySQL @ 7Masters MySQL
 
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
Logs, pra que te quero! @ PHP Community Summit by locaweb 2017
 
Logs, pra que te quero! @ TDC SP 2017
Logs, pra que te quero! @ TDC SP 2017Logs, pra que te quero! @ TDC SP 2017
Logs, pra que te quero! @ TDC SP 2017
 
Novidades do Laravel 5.3 @ 11º Meetup Laravel SP
Novidades do Laravel 5.3 @ 11º Meetup Laravel SPNovidades do Laravel 5.3 @ 11º Meetup Laravel SP
Novidades do Laravel 5.3 @ 11º Meetup Laravel SP
 

Symfony Flex: evolução dos frameworks PHP e o que é o Symfony Flex

  • 2. Objetivos Evolução dos Frameworks PHP Qual o problema o Flex resolve O que é o Symfony Flex O que mudou com o Flex Primeiros Passos
  • 3. > whoami Software & DevOps Engineer Instrutor PHP Community Summit 2018
  • 5. 1ª fase - Primeiros Frameworks • Lançamento do PHP 4 - 2001 • Criação do Wordpress - 2003 • Surgimento dos primeiros frameworks Fullstack (Symfony, Zend Framework, CodeIgniter) - 2006 • Colisão de nomes de classes – Database / Zend_Database • Reuso dos componentes e padronização Autoload PHP Community Summit 2018
  • 6. 2ª fase - Modularização dos Frameworks • Namespaces com PHP 5.3 – 2009 • Spl_Autoload e PSR-0 – 2010 • Lançamento do Composer - 2012 • Symfony 2, Zend Framework 2 e Laravel 4 – 2013 • Dificuldades em integrar componentes • Microserviços PHP Community Summit 2018
  • 7. 3ª fase - Componentes e Micro frameworks • Slim - 2011 • Silex (RIP) - 2011-2018 • The PHP League - 2013 • Criação de novas PSRs • HTTP • Cache • Container Interface • Zend Expressive - 2016 PHP Community Summit 2018
  • 8. Comparação PHP Community Summit 2018 • Micro framework • Leve • Altamente customizável • “Rápido” • Ideal para cenários com micro serviços • Framework Fullstack • Completo (funcionalidades) • Integrado • Padronizado • Fácil de deployar
  • 9. E se você pudesse ter ambos? PHP Community Summit 2018
  • 10. O que é o Symfony Flex Nova forma de instalar e gerenciar uma aplicação Symfony Compatível a partir do Symfony 3.3 Plugin do Composer Foco na automação de tarefas Começar como um microframework Incluir novos components sob demanda
  • 11. Estrutura de diretórios PHP Community Summit 2018
  • 15. Symfony Flex Recipes PHP Community Summit 2018 manifest.json
  • 17. Demo Incrementando nosso projeto PHP Community Summit 2018
  • 18. Referências PHP Community Summit 2018 • https://symfony.com/doc/current/setup/flex.html • https://symfony.sh/ • https://symfony.com/blog/the-end-of-silex • https://github.com/symfony/skeleton • https://github.com/symfony/website-skeleton • https://github.com/symfony/recipes • https://github.com/symfony/recipes-contrib • https://symfony.com/doc/current/controller.html • https://symfony.com/doc/current/doctrine.html • https://symfony.com/doc/current/logging.html • https://symfony.com/doc/current/profiler.html • https://symfony.com/doc/current/service_container.html • https://www.sitepoint.com/symfony-flex-paving-path-faster-better-symfony/
  • 19. Obrigado! PHP Community Summit 2018 Gabriel Machado gmsantos gmsantos__ gmsantos gmsantos

Notas do Editor

  1. Roteiro: > composer create-project symfony/skeleton=v4.0.0-BETA1 flex > php -S 127.0.0.1:8000 -t public > composer require webserver log > cp ../sample/DefaultController.php src/Controller Descomentar / no routes.yml > bin/console server:start > composer require profiler admin > cp ../sample/Product.php src/Entity Configurar .env e incluir resolver na config doctrine > bin/console doctrine:schema:update Navegar /admin e criar Produto > composer remove admin
  2. Roteiro: > composer create-project symfony/skeleton=v4.0.0-BETA1 flex > php -S 127.0.0.1:8000 -t public > composer require webserver log > cp ../sample/DefaultController.php src/Controller Descomentar / no routes.yml > bin/console server:start > composer require profiler admin > cp ../sample/Product.php src/Entity Configurar .env e incluir resolver na config doctrine > bin/console doctrine:schema:update Navegar /admin e criar Produto > composer remove admin