SlideShare ist ein Scribd-Unternehmen logo
1 von 107
Ecossistema PHP
O presente, o passado e o futuro da
linguagem (back-end) mais utilizada
na web
@pokemaobr
Rodrigo 'Pokemaobr' Cardoso
Bacharel em Matemática Aplicada e Computacional pela UFRRJ
MBA em Engenharia de Softwares Orientado para Serviços pelo IBTA
Community Manager @ iMasters
Evangelista @ PHPSP
Criador do canal de youtube PokePHP
@pokemaobr - rodrigo.cardoso@imasters.com.br
@pokemaobr
O que é o PHP hoje?
Most Popular Technologies
StackOverflow - 2018
https://insights.stackoverflow.com/survey/2018#technology-programming-scripting-and-markup-languages
Most Popular Technologies
StackOverflow - 2019
https://insights.stackoverflow.com/survey/2018#technology-programming-scripting-and-markup-languages
Most dreaded Languages
StackOverflow - 2018
https://insights.stackoverflow.com/survey/2018#technology-most-loved-dreaded-and-wanted-languages
Most dreaded Languages
StackOverflow - 2019
https://insights.stackoverflow.com/survey/2019#technology-_-most-loved-dreaded-and-wanted-languages
Ranking de Linguagens de Programação:
RedMonk
https://redmonk.com/sogrady/2018/08/10/language-rankings-6-18/
Ranking de Linguagens de Programação:
RedMonk
https://redmonk.com/sogrady/2018/08/10/language-rankings-6-18/
Linguagens utilizadas como back-end de websites
W3Tech
https://w3techs.com/technologies/overview/programming_language/all
Usage of server-side programming languages for websites
W3Tech
https://w3techs.com/technologies/overview/programming_language/all
PHP LifeTime
Vamos voltar pro início...
1994-1995
Personal Home Page Tools
➢Scripts CGI
➢C
➢Open Source
➢Substituiu o PERL
1995-1998
PHP FI (Forms Interpreter)
➢Variáveis estilo Perl
➢Interpretação automática de variáveis
vindas de formulários
➢Sintaxe HTML embutida
PHP FI (Forms Interpreter)
2.0
➢Princípio da tag <?
➢3 tipos de variáveis (long int, double e
string)
➢Definição de funções
PHP FI (Forms Interpreter)
form.html
display.html
1998-2000
PHP 3
➢Zeev Surasky
➢Andi Gutmans
➢E-commerce num projeto de faculdade
PHP 3
➢Reescrita da linguagem
➢Hypertext Preprocessor
➢“Orientação a objetos”
PHP 3
➢Multiplos bancos de dados
➢Windows 95, 98, NT e Machintosh
➢10% da Web
PHP 3
PEAR e PECL
➢Reutilização de bibliotecas e extensões
➢Primeiro “repositório de dependências”
➢Primeiro “gerenciador de dependências”
2000-2004
PHP 4
➢Zend Engine (Performance)
➢Suporte a diversos servidores web
➢Sessões HTTP
PHP 4
➢Diversas extensões
➢Suporte a ainda mais banco de dados
➢Diretivas do PHP.ini (post_max_size,
file_uploads, display_startup_errors)
Zend Engine
Era dos Fóruns
➢vBulletin (2000)
➢phpBB (2000)
➢Simple Machine Forums (2001)
➢Invision Power Boards (2002)
Era dos Fóruns
➢iMasters (2002)
➢Clube do Hardware (2002)
➢Ligamagic (2003)
➢Tibia (2004)
Era dos CMS
➢Drupal (2000)
➢Moodle (2001)
➢Wordpress (2003)
➢Joomla (2005)
Projetos Relevantes
O patinho feio da web?
As hospedagens se
adaptaram ao PHP
Ainda hoje (2019) 0,47% da
web é PHP 4
2004-2015
PHP 5.0
➢Zend Engine 2.0
➢Orientação a objetos mais robusta
➢SPL
➢PHP_EOL
PHP 5.1 (2005)
➢PDO
➢Compressão de PNG na GD
➢date_timezone_set()
Era dos frameworks
➢CakePHP (2005)
➢Symfony (2005)
➢CodeIgniter (2006)
➢Zend Framework (2006)
PHP 5.2 (200¨6)
➢Zip Archive
➢JSON
➢Geração de chave DSA na
openssl_pkey_new()
Doctrine
➢ORM - DBAL
➢Baseado no Hibernate
➢DQL
Era dos E-commerces
➢Magento (2008)
➢PrestaShop (2008)
➢OpenCart (2010)
➢Woocommerce (2011)
PHP 5.3 (2009)
➢Namespaces
➢Phar
➢Lambda functions e closures
Era dos MicroFrameworks
➢Silex (2010)
➢Slim (2011)
Laravel (2011)
➢Framework baseado no CodeIgniter
➢Um dos mais populares
➢Hoje em dia é escrito em cima do core do
Symfony
PHP 5.4 (2012)
➢Sintaxe simples para Array [1,2,3]
➢Traits
➢Servidor Web embutido
Composer / Packagist
➢Um novo gerenciador de dependências
➢Fácil configuração com JSON
➢Comandos simples
Padronização de tudo
➢PHP-FIG
➢PSRs
➢Autoload, código, etc
PHP the right way
➢Guia de boas práticas da linguagem
➢Traduzido para vários idiomas
➢http://br.phptherightway.com/
PHP 5.5 (2013)
➢Generators e Coroutines
➢Password hashing simplificado
➢Otimização de variáveis
PHP 5.6 (2014)
➢Aceita uploads acima de 2 GB
➢Operador Exponencial (**)
➢Redução da memória usada em POST de
200% a 300%
PHP 6
➢Unicode?
➢Livros Publicados
➢Troll da comunidade
Facebook, Hack e HHVM
➢Tipagem estática
➢Maior performance
➢Conflitos com o core
O PHP é da comunidade!
PHP 7.0 (2015)
➢Reescrita da linguagem
➢Aumento significativo de performance
➢Unicode Implementado
PHP 7.0 (2015)
➢Classes anonimas
➢Agrupamento de use
➢Scalar type hints
Mudanças nas releases
➢Uma nova versão ou subversão a cada 1 ano
➢2 anos de suporte ativo
➢1 ano de correções de segurança
PHP é só pra web?
Peripércias Hue Hue Hue BR
PHP Terminal
Gameboy
Emulator -
Gabriel
Rodrigues
Couto (2016)
PHP-Gui - Gabriel Rodrigues
Couto (2016)
PHP 7.1 (2016)
➢Catching de múltiplos tipos de excessão
➢Tipo Iterable
➢Retorno void para funções
PHP 7.2 (2017)
➢Argon 2 Password Hash
➢Libsodium
➢Object typehint
PHP 7.3 (2018)
➢Lançamento de exceção de erros no
json_encode e json_decode
➢is_countable
➢Flexibilidade no Heredoc e Nowdoc
E as hypes?
Machine Learning
PHP-ML
➢Algoritmos de Machine Learning
➢Treinamento
➢Extração
PHP-ML
➢Classificação
➢Regressão
➢Clusterização
➢Etc
https://github.com/php-
ai/php-ml
PHP Simple Neutral Network -
Gabriel Rodrigues Couto
https://github.com/gabrielrco
uto/php-simple-neural-
network
bayes: A Naive-Bayes
classifier for PHP
https://github.com/niiknow/b
ayes
GraphQL
Graphql-php
https://github.com/webonyx/
graphql-php
Pure PHP realization of
GraphQL protocol
https://github.com/youshido-
php/GraphQL
WebAssembly
PHP extension to run
WebAssembly binaries
https://github.com/wasmerio
/php-ext-wasm
BlockChain
PHPlata - Gabriel Rodrigues
Couto
https://github.com/gabrielr
couto/phplata
Ethereum Client in PHP
https://github.com/kesar/e
thereum-php
Mobile?
Zend On The Go Mobile
https://github.com/zendtec
h/on-the-go-mobile
Serverless
Serverless PHP on AWS
Lambda
https://github.com/mnapoli
/bref
OpenFaaS
https://github.com/openfaa
s/faas
Kubeless
https://kubeless.io/
Chatbots
Botman
https://github.com/botman
/botman
DialogFlow
https://dialogflow.com/
O que está por vir?
PHP 7.4 (2019)
➢Propriedades tipadas (RFC)
➢Preloading (RFC)
➢Short Closures (RFC)
PHP 8.0 (JIT)
➢Compilação Just-In-Time
➢Otimização do código de execução
➢Usado na JVM e no V8 JavaScript VM
(Google)
Cada vez mais o PHP está
indo para um bom caminho!
Por que temos vergonha do
PHP?
A web está acabando?
O que estamos
desenvolvendo em PHP?
Como estamos recebendo as
novas pessoas devs PHP?
O que estamos mostrando
para o mundo?
Dúvidas?
Rodrigo 'Pokemaobr' Cardoso
Community Manager @ iMasters
@pokemaobr
rodrigo.cardoso@imasters.com.br
@pokemaobr

Weitere ähnliche Inhalte

Was ist angesagt?

Geoprocessamento livre na web com openlayers e cake php
Geoprocessamento livre na web com openlayers e cake phpGeoprocessamento livre na web com openlayers e cake php
Geoprocessamento livre na web com openlayers e cake php
Rafael Soto
 

Was ist angesagt? (20)

Melhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magentoMelhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magento
 
Super tests - TDC 2014 - Node.js
Super tests - TDC 2014 - Node.jsSuper tests - TDC 2014 - Node.js
Super tests - TDC 2014 - Node.js
 
Criando infraestrutura de Azure com Fluebn API e C#
Criando infraestrutura de Azure com Fluebn API e C#Criando infraestrutura de Azure com Fluebn API e C#
Criando infraestrutura de Azure com Fluebn API e C#
 
Frameworks: uma mão na roda para o desenvolvimento
Frameworks: uma mão na roda para o desenvolvimentoFrameworks: uma mão na roda para o desenvolvimento
Frameworks: uma mão na roda para o desenvolvimento
 
Orquestradores - aplicações e preocupações
Orquestradores - aplicações e preocupaçõesOrquestradores - aplicações e preocupações
Orquestradores - aplicações e preocupações
 
Alta produtividade em Java EE com Groovy e Grails
Alta produtividade em Java EE com Groovy e GrailsAlta produtividade em Java EE com Groovy e Grails
Alta produtividade em Java EE com Groovy e Grails
 
ASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco GodoiASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco Godoi
 
#Qualidade decodigo
#Qualidade decodigo#Qualidade decodigo
#Qualidade decodigo
 
Introdução ao kotlin
Introdução ao kotlinIntrodução ao kotlin
Introdução ao kotlin
 
Grafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCPGrafana & Zabbix - Webinar JLCP
Grafana & Zabbix - Webinar JLCP
 
Geoprocessamento livre na web com openlayers e cake php
Geoprocessamento livre na web com openlayers e cake phpGeoprocessamento livre na web com openlayers e cake php
Geoprocessamento livre na web com openlayers e cake php
 
Voce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraVoce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infra
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011
 
O CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.comO CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.com
 
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...
Arquiteturas Serverless + Azure Functions - Semana FCI - Mackenzie - Outubro-...
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 
POG - Definição e Conceitos
POG - Definição e ConceitosPOG - Definição e Conceitos
POG - Definição e Conceitos
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHP
 

Ähnlich wie Ecossistema php: O presente, o passado e o futuro da linguagem (back-end) mais utilizada na web

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
 

Ähnlich wie Ecossistema php: O presente, o passado e o futuro da linguagem (back-end) mais utilizada na web (20)

Ecossistema PHP - O presente, o passado e o futuro da linguagem back-end mais...
Ecossistema PHP - O presente, o passado e o futuro da linguagem back-end mais...Ecossistema PHP - O presente, o passado e o futuro da linguagem back-end mais...
Ecossistema PHP - O presente, o passado e o futuro da linguagem back-end mais...
 
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...O ecossistema e o estado atual do php  - o presente, o passado e o futuro da ...
O ecossistema e o estado atual do php - o presente, o passado e o futuro da ...
 
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
 
Zf campus party_2011
Zf campus party_2011Zf campus party_2011
Zf campus party_2011
 
Zf campus party_2011
Zf campus party_2011Zf campus party_2011
Zf campus party_2011
 
Python Com Baterias Incluídas
Python Com Baterias IncluídasPython Com Baterias Incluídas
Python Com Baterias Incluídas
 
Panorama PHP
Panorama PHPPanorama PHP
Panorama PHP
 
Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013
 
Xdebug seus problemas acabaram - TDC - PHPeste
Xdebug   seus problemas acabaram - TDC - PHPesteXdebug   seus problemas acabaram - TDC - PHPeste
Xdebug seus problemas acabaram - TDC - PHPeste
 
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
TDC2016 | Trilha PHP - Xdebug: Seus problemas acabaram!
 
Linguagens de Programação para Ficar de Olho em 2019 - DevRocks
Linguagens de Programação para Ficar de Olho em 2019 - DevRocksLinguagens de Programação para Ficar de Olho em 2019 - DevRocks
Linguagens de Programação para Ficar de Olho em 2019 - DevRocks
 
PHP Tools for Fast coding
PHP Tools for Fast codingPHP Tools for Fast coding
PHP Tools for Fast coding
 
Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?Ruby On Rails - Porque Utilizar?
Ruby On Rails - Porque Utilizar?
 
Como se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundoComo se tornar o pior programador PHP do mundo
Como se tornar o pior programador PHP do mundo
 
Novidades do PHP 5.3 e 6
Novidades do PHP 5.3 e 6Novidades do PHP 5.3 e 6
Novidades do PHP 5.3 e 6
 
Limitações do HTML no Desenvolvimento de Jogos Multiplataforma
Limitações do HTML no Desenvolvimento de Jogos MultiplataformaLimitações do HTML no Desenvolvimento de Jogos Multiplataforma
Limitações do HTML no Desenvolvimento de Jogos Multiplataforma
 
Aplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend FrameworkAplicações Profissionais para Internet com Zend Framework
Aplicações Profissionais para Internet com Zend Framework
 
A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013
A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013
A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013
 
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?
 
Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011
 

Mehr von Rodrigo Wanderley de Melo Cardoso

Mehr von Rodrigo Wanderley de Melo Cardoso (18)

Desenvolvendo chatbots para suas lives
Desenvolvendo chatbots para suas livesDesenvolvendo chatbots para suas lives
Desenvolvendo chatbots para suas lives
 
Palestrar.dev - Disseminando seu conhecimento em desenvolvimento
Palestrar.dev - Disseminando seu conhecimento em desenvolvimentoPalestrar.dev - Disseminando seu conhecimento em desenvolvimento
Palestrar.dev - Disseminando seu conhecimento em desenvolvimento
 
Masterizando a Curadoria de Eventos.pdf
Masterizando a Curadoria de Eventos.pdfMasterizando a Curadoria de Eventos.pdf
Masterizando a Curadoria de Eventos.pdf
 
Ferramentas (Devs ou Não) para te ajudar 2021
Ferramentas (Devs ou Não) para te ajudar 2021Ferramentas (Devs ou Não) para te ajudar 2021
Ferramentas (Devs ou Não) para te ajudar 2021
 
Como fazer dinheiro com ti
Como fazer dinheiro com tiComo fazer dinheiro com ti
Como fazer dinheiro com ti
 
Em busca do elixir do desenvolvimento
Em busca do elixir do desenvolvimentoEm busca do elixir do desenvolvimento
Em busca do elixir do desenvolvimento
 
Desenvolvendo chatbots mesmo sem saber codar!
Desenvolvendo chatbots mesmo sem saber codar! Desenvolvendo chatbots mesmo sem saber codar!
Desenvolvendo chatbots mesmo sem saber codar!
 
Web scrapping com selenium webdriver
Web scrapping com selenium webdriverWeb scrapping com selenium webdriver
Web scrapping com selenium webdriver
 
Function as a Service no OpenFaaS com Docker e PHP
Function as a Service no OpenFaaS com Docker e PHPFunction as a Service no OpenFaaS com Docker e PHP
Function as a Service no OpenFaaS com Docker e PHP
 
Desenvolvendo chatbots mesmo sem saber codar!
Desenvolvendo chatbots mesmo sem saber codar!Desenvolvendo chatbots mesmo sem saber codar!
Desenvolvendo chatbots mesmo sem saber codar!
 
Resolvendo problemas de inteligência artificial e reconhecimento óptico com php
Resolvendo problemas de inteligência artificial e reconhecimento óptico com phpResolvendo problemas de inteligência artificial e reconhecimento óptico com php
Resolvendo problemas de inteligência artificial e reconhecimento óptico com php
 
Como contribuir para a comunidade de desenvolvedores pode ser bom para minha ...
Como contribuir para a comunidade de desenvolvedores pode ser bom para minha ...Como contribuir para a comunidade de desenvolvedores pode ser bom para minha ...
Como contribuir para a comunidade de desenvolvedores pode ser bom para minha ...
 
DrupalCamp campinas 2016 - Como contribuir para a comunidade poder ser bom pa...
DrupalCamp campinas 2016 - Como contribuir para a comunidade poder ser bom pa...DrupalCamp campinas 2016 - Como contribuir para a comunidade poder ser bom pa...
DrupalCamp campinas 2016 - Como contribuir para a comunidade poder ser bom pa...
 
Php Experience 2016 - Mercado de Trabalho para Elefantes
Php Experience 2016 - Mercado de Trabalho para ElefantesPhp Experience 2016 - Mercado de Trabalho para Elefantes
Php Experience 2016 - Mercado de Trabalho para Elefantes
 
PHP Conference Brazil 2015 - PHP + Sharepoint - Integrando Serviços Microsoft...
PHP Conference Brazil 2015 - PHP + Sharepoint - Integrando Serviços Microsoft...PHP Conference Brazil 2015 - PHP + Sharepoint - Integrando Serviços Microsoft...
PHP Conference Brazil 2015 - PHP + Sharepoint - Integrando Serviços Microsoft...
 
Palestra TDC 2015 São Paulo - Mercado de trabalho para Elefantes
Palestra TDC 2015 São Paulo - Mercado de trabalho para ElefantesPalestra TDC 2015 São Paulo - Mercado de trabalho para Elefantes
Palestra TDC 2015 São Paulo - Mercado de trabalho para Elefantes
 
Palestra PHPSP+Locaweb 2014 - PDO
Palestra PHPSP+Locaweb 2014 - PDOPalestra PHPSP+Locaweb 2014 - PDO
Palestra PHPSP+Locaweb 2014 - PDO
 
Palestra PHPConference 2014 - NFePHP
Palestra PHPConference 2014 - NFePHPPalestra PHPConference 2014 - NFePHP
Palestra PHPConference 2014 - NFePHP
 

Kürzlich hochgeladen

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Kürzlich hochgeladen (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

Ecossistema php: O presente, o passado e o futuro da linguagem (back-end) mais utilizada na web