SlideShare uma empresa Scribd logo
Globalcode – Open4education
Arquitetura PHP
PHP Middleware, o que são? Onde vivem? O que fazem?
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
Anderson Luciano
Desenvolvedor Web
andersonluciano.me
@AndersonLuciano
andersonluciano.dev@gmail.com
github.com/andersonluciano
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
https://www.php-fig.orgPHP Framework Interop Group!
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• PSR-7: HTTP message interfaces
• Requests & Responses
• Tratando a web com seu devido respeito
• Baseado nas:
• RFC 7230
• (Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing)
• RFC 7231
• Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
• RFC 3986
• Uniform Resource Identifier (URI): Generic Syntax
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• PSR-7: HTTP message interfaces
$request = $request
->withMethod('OPTIONS')
->withRequestTarget('*')
->withUri(new Uri('https://example.org/'));
$request->getMethod();
$body = $request->parsedBody();
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• PSR-15: HTTP Server Request Handlers
• Processa a requisição e produz uma resposta
• Middleware em PHP
• Utilizam a Message Interface (PSR-7)
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• PSR-15: HTTP Server Request Handlers
interface MiddlewareInterface
{
/**
* Process an incoming server request
*
* Processes an incoming server request in order to produce a response.
* If unable to produce the response itself, it may delegate to the provided
* request handler to do so.
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface;
}
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• Middleware - O que são?
• Desde 1980 - SO’s, Integrações entre sistemas, etc...
• Interoperabilidade entre softwares
• No PHP
• HTTP Server Request Handlers
• Manipuladores de requisições HTTP
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• O que são?
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• O que são?
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• O que são?
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• O que são?
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• O que são?
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• O que são?
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• O que são?
BodyParams, Auth, DatabaseHandler, Routing, UrlHelper [...] ResponseFormatter
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• O que são?
BodyParams, Auth, DatabaseHandler, Routing, UrlHelper [...] ResponseFormatter
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• Middleware - Onde vivem?
• Camadas do sistema!
• Diferenças do Padrão MVC
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• Onde vivem?
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• Onde vivem?
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• Onde vivem?
• Operam dentro da
requisição
• São organizados no
formato de pilha
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
• Middleware - O que fazem?
• Centralizam responsabilidades do processo
• Privacidade, conversões, permissões, formatações, logs,
gatilhos, [...]
• O céu é o limite!
• Permitem a interoperabilidade das aplicações
• if (forem bem implementados)
Globalcode – Open4education
• Middleware - O que não fazer!
• Nunca terminarás a execução do programa em um
middleware.
• Nunca alterarás o conteúdo da response.
• Nunca deixarás de repassar a requisição para a camada
seguinte.
• Nunca desvirtuarás seu uso
• echo "<h1>Acesso Negado</h1>";exit;
PHP Middleware, o que são? Onde vivem? O que fazem?
Globalcode – Open4education
• Alguns Frameworks
PHP Middleware, o que são? Onde vivem? O que fazem?
Globalcode – Open4education
Exemplo - Zend Expressive
https://github.com/andersonluciano/api-middlewares-talk
PHP Middleware, o que são? Onde vivem? O que fazem?
Globalcode – Open4education
PHP Middleware, o que são? Onde vivem? O que fazem?
Anderson Luciano
Desenvolvedor Web
andersonluciano.me
@AndersonLuciano
andersonluciano.dev@gmail.com
github.com/andersonluciano
TDC2018SP | Trilha Arq PHP - PHP Middlewares, o que sao? Onde vivem? O que fazem?

Mais conteúdo relacionado

Mais procurados

PHP, Mercado e Certificações
PHP, Mercado e CertificaçõesPHP, Mercado e Certificações
PHP, Mercado e Certificações
Fernando Geraldo Mantoan
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
Flávio Lisboa
 
Desenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDesenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend Framework
Domingos Teruel
 
Mini Curso Zend Framework
Mini Curso Zend FrameworkMini Curso Zend Framework
Mini Curso Zend Framework
Adler Medrado
 
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
Thiago Dieb
 
Panorama atual do PHP
Panorama atual do PHPPanorama atual do PHP
Panorama atual do PHP
Adler Medrado
 
Aplicações stateless com PHP e JWT
Aplicações stateless com PHP e JWTAplicações stateless com PHP e JWT
Aplicações stateless com PHP e JWT
Bruno Neves Menezes
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHP
Ramon Ribeiro Rabello
 
Desenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHPDesenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHP
Bruno Fernandes "PorKaria"
 
PHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalPHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederal
Bruno Fernandes "PorKaria"
 
Introdução a analise de vulnerabilidades Web
Introdução a analise de vulnerabilidades WebIntrodução a analise de vulnerabilidades Web
Introdução a analise de vulnerabilidades Web
Twisting The Truth
 

Mais procurados (11)

PHP, Mercado e Certificações
PHP, Mercado e CertificaçõesPHP, Mercado e Certificações
PHP, Mercado e Certificações
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
 
Desenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend FrameworkDesenvolvendo Aplicações com Zend Framework
Desenvolvendo Aplicações com Zend Framework
 
Mini Curso Zend Framework
Mini Curso Zend FrameworkMini Curso Zend Framework
Mini Curso Zend Framework
 
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...Palestra - Darkmira Tour PHP 2016  - A ilusão das referências sobre desenvolv...
Palestra - Darkmira Tour PHP 2016 - A ilusão das referências sobre desenvolv...
 
Panorama atual do PHP
Panorama atual do PHPPanorama atual do PHP
Panorama atual do PHP
 
Aplicações stateless com PHP e JWT
Aplicações stateless com PHP e JWTAplicações stateless com PHP e JWT
Aplicações stateless com PHP e JWT
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHP
 
Desenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHPDesenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHP
 
PHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederalPHP e o Desenvolvimento Mobile Web - PHPhederal
PHP e o Desenvolvimento Mobile Web - PHPhederal
 
Introdução a analise de vulnerabilidades Web
Introdução a analise de vulnerabilidades WebIntrodução a analise de vulnerabilidades Web
Introdução a analise de vulnerabilidades Web
 

Semelhante a TDC2018SP | Trilha Arq PHP - PHP Middlewares, o que sao? Onde vivem? O que fazem?

Middleware 4 life
Middleware 4 lifeMiddleware 4 life
Middleware 4 life
Igor Carvalho
 
Arquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App EngineArquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App Engine
Eder Magalhães
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
tdc-globalcode
 
Muito prazer, eu sou PHP
Muito prazer, eu sou PHPMuito prazer, eu sou PHP
Muito prazer, eu sou PHP
Johnathan Cardoso
 
Muito prazer, eu sou PHP
Muito prazer, eu sou PHPMuito prazer, eu sou PHP
Muito prazer, eu sou PHP
Luís Cobucci
 
Iniciando com PHP
Iniciando com PHPIniciando com PHP
Iniciando com PHP
Michel Lima
 
Tdc2019 intro event-sourcing_kafka
Tdc2019   intro event-sourcing_kafkaTdc2019   intro event-sourcing_kafka
Tdc2019 intro event-sourcing_kafka
Marcelo Ohashi
 
Webinar php extreme 5.3
Webinar php extreme 5.3Webinar php extreme 5.3
Webinar php extreme 5.3
Raphael Almeida
 
TDC 2012 Trilha – Android University
TDC 2012 Trilha – Android UniversityTDC 2012 Trilha – Android University
TDC 2012 Trilha – Android University
Inael Rodrigues
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
Felipe Ribeiro
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começou
Jose Wilker
 
Service virtualization floripa
Service virtualization floripaService virtualization floripa
Service virtualization floripa
Ernesto Barbosa
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
Augusto Pascutti
 
Panorama atual do PHP
Panorama atual do PHPPanorama atual do PHP
Panorama atual do PHP
Adler Medrado
 
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
 Lições aprendidas com a Re (escrita |design) de uma aplicação PHP  Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
Domingos Teruel
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST Framework
Mario Guedes
 
FISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHPFISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHP
Flávio Lisboa
 
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
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Jonathan Prates
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
Luís Cobucci
 

Semelhante a TDC2018SP | Trilha Arq PHP - PHP Middlewares, o que sao? Onde vivem? O que fazem? (20)

Middleware 4 life
Middleware 4 lifeMiddleware 4 life
Middleware 4 life
 
Arquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App EngineArquiteturas Java EE no Google App Engine
Arquiteturas Java EE no Google App Engine
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
 
Muito prazer, eu sou PHP
Muito prazer, eu sou PHPMuito prazer, eu sou PHP
Muito prazer, eu sou PHP
 
Muito prazer, eu sou PHP
Muito prazer, eu sou PHPMuito prazer, eu sou PHP
Muito prazer, eu sou PHP
 
Iniciando com PHP
Iniciando com PHPIniciando com PHP
Iniciando com PHP
 
Tdc2019 intro event-sourcing_kafka
Tdc2019   intro event-sourcing_kafkaTdc2019   intro event-sourcing_kafka
Tdc2019 intro event-sourcing_kafka
 
Webinar php extreme 5.3
Webinar php extreme 5.3Webinar php extreme 5.3
Webinar php extreme 5.3
 
TDC 2012 Trilha – Android University
TDC 2012 Trilha – Android UniversityTDC 2012 Trilha – Android University
TDC 2012 Trilha – Android University
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começou
 
Service virtualization floripa
Service virtualization floripaService virtualization floripa
Service virtualization floripa
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Panorama atual do PHP
Panorama atual do PHPPanorama atual do PHP
Panorama atual do PHP
 
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
 Lições aprendidas com a Re (escrita |design) de uma aplicação PHP  Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST Framework
 
FISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHPFISL12. Web Services e Computação em Nuvem com PHP
FISL12. Web Services e Computação em Nuvem com PHP
 
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?
 
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014Migração de Banco de Dados - Oracle para MongoDB - TDC2014
Migração de Banco de Dados - Oracle para MongoDB - TDC2014
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
 

Mais de tdc-globalcode

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
tdc-globalcode
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
tdc-globalcode
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
tdc-globalcode
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
tdc-globalcode
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
tdc-globalcode
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
tdc-globalcode
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devices
tdc-globalcode
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
tdc-globalcode
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
tdc-globalcode
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocus
tdc-globalcode
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
tdc-globalcode
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golang
tdc-globalcode
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
tdc-globalcode
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
tdc-globalcode
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
tdc-globalcode
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
tdc-globalcode
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
tdc-globalcode
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
tdc-globalcode
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#
tdc-globalcode
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
tdc-globalcode
 

Mais de tdc-globalcode (20)

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devices
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocus
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golang
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
 

Último

Livro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo FreireLivro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo Freire
WelberMerlinCardoso
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
TomasSousa7
 
Atividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º anoAtividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º ano
fernandacosta37763
 
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
Eró Cunha
 
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.pptEstrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
livrosjovert
 
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdfUFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
Manuais Formação
 
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptxSlides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
karl marx biografia resumida com suas obras e história de vida
karl marx biografia resumida com suas obras e história de vidakarl marx biografia resumida com suas obras e história de vida
karl marx biografia resumida com suas obras e história de vida
KleginaldoPaz2
 
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdfUFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
Manuais Formação
 
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptxAVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
AntonioVieira539017
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
Manuais Formação
 
Introdução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escolaIntrodução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escola
Professor Belinaso
 
epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
MarceloMonteiro213738
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
LucianaCristina58
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
TomasSousa7
 
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdfA QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
AurelianoFerreirades2
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
profesfrancleite
 
livro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdflivro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdf
cmeioctaciliabetesch
 
Vogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantilVogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantil
mamaeieby
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
wagnermorais28
 

Último (20)

Livro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo FreireLivro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo Freire
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
 
Atividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º anoAtividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º ano
 
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...REGULAMENTO  DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
REGULAMENTO DO CONCURSO DESENHOS AFRO/2024 - 14ª edição - CEIRI /UREI (ficha...
 
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.pptEstrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
 
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdfUFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
UFCD_3546_Prevenção e primeiros socorros_geriatria.pdf
 
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptxSlides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
Slides Lição 11, Central Gospel, Os Mortos Em CRISTO, 2Tr24.pptx
 
karl marx biografia resumida com suas obras e história de vida
karl marx biografia resumida com suas obras e história de vidakarl marx biografia resumida com suas obras e história de vida
karl marx biografia resumida com suas obras e história de vida
 
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdfUFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
UFCD_10145_Enquadramento do setor farmacêutico_indice.pdf
 
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptxAVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
AVALIAÇÃO DIAGNÓSTICA - 8º ANO 2024.pptx
 
UFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdfUFCD_10949_Lojas e-commerce no-code_índice.pdf
UFCD_10949_Lojas e-commerce no-code_índice.pdf
 
Introdução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escolaIntrodução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escola
 
epidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).pptepidemias endemia-pandemia-e-epidemia (1).ppt
epidemias endemia-pandemia-e-epidemia (1).ppt
 
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx- TEMPLATE DA PRATICA - Psicomotricidade.pptx
- TEMPLATE DA PRATICA - Psicomotricidade.pptx
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
 
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdfA QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
A QUESTÃO ANTROPOLÓGICA: O QUE SOMOS OU QUEM SOMOS.pdf
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
 
livro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdflivro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdf
 
Vogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantilVogais Ilustrados para alfabetização infantil
Vogais Ilustrados para alfabetização infantil
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
 

TDC2018SP | Trilha Arq PHP - PHP Middlewares, o que sao? Onde vivem? O que fazem?

  • 1. Globalcode – Open4education Arquitetura PHP PHP Middleware, o que são? Onde vivem? O que fazem?
  • 2. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? Anderson Luciano Desenvolvedor Web andersonluciano.me @AndersonLuciano andersonluciano.dev@gmail.com github.com/andersonluciano
  • 3. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? https://www.php-fig.orgPHP Framework Interop Group!
  • 4. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • PSR-7: HTTP message interfaces • Requests & Responses • Tratando a web com seu devido respeito • Baseado nas: • RFC 7230 • (Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing) • RFC 7231 • Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content • RFC 3986 • Uniform Resource Identifier (URI): Generic Syntax
  • 5. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • PSR-7: HTTP message interfaces $request = $request ->withMethod('OPTIONS') ->withRequestTarget('*') ->withUri(new Uri('https://example.org/')); $request->getMethod(); $body = $request->parsedBody();
  • 6. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • PSR-15: HTTP Server Request Handlers • Processa a requisição e produz uma resposta • Middleware em PHP • Utilizam a Message Interface (PSR-7)
  • 7. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • PSR-15: HTTP Server Request Handlers interface MiddlewareInterface { /** * Process an incoming server request * * Processes an incoming server request in order to produce a response. * If unable to produce the response itself, it may delegate to the provided * request handler to do so. */ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface; }
  • 8. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • Middleware - O que são? • Desde 1980 - SO’s, Integrações entre sistemas, etc... • Interoperabilidade entre softwares • No PHP • HTTP Server Request Handlers • Manipuladores de requisições HTTP
  • 9. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • O que são?
  • 10. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • O que são?
  • 11. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • O que são?
  • 12. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • O que são?
  • 13. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • O que são?
  • 14. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • O que são?
  • 15. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • O que são? BodyParams, Auth, DatabaseHandler, Routing, UrlHelper [...] ResponseFormatter
  • 16. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • O que são? BodyParams, Auth, DatabaseHandler, Routing, UrlHelper [...] ResponseFormatter
  • 17. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • Middleware - Onde vivem? • Camadas do sistema! • Diferenças do Padrão MVC
  • 18. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • Onde vivem?
  • 19. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • Onde vivem?
  • 20. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • Onde vivem? • Operam dentro da requisição • São organizados no formato de pilha
  • 21. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem?
  • 22. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? • Middleware - O que fazem? • Centralizam responsabilidades do processo • Privacidade, conversões, permissões, formatações, logs, gatilhos, [...] • O céu é o limite! • Permitem a interoperabilidade das aplicações • if (forem bem implementados)
  • 23. Globalcode – Open4education • Middleware - O que não fazer! • Nunca terminarás a execução do programa em um middleware. • Nunca alterarás o conteúdo da response. • Nunca deixarás de repassar a requisição para a camada seguinte. • Nunca desvirtuarás seu uso • echo "<h1>Acesso Negado</h1>";exit; PHP Middleware, o que são? Onde vivem? O que fazem?
  • 24. Globalcode – Open4education • Alguns Frameworks PHP Middleware, o que são? Onde vivem? O que fazem?
  • 25. Globalcode – Open4education Exemplo - Zend Expressive https://github.com/andersonluciano/api-middlewares-talk PHP Middleware, o que são? Onde vivem? O que fazem?
  • 26. Globalcode – Open4education PHP Middleware, o que são? Onde vivem? O que fazem? Anderson Luciano Desenvolvedor Web andersonluciano.me @AndersonLuciano andersonluciano.dev@gmail.com github.com/andersonluciano