Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Boas Práticas com PHP V2
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Gustavo Fraga
September 14, 2019
Programming
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Boas Práticas com PHP V2
Gustavo Fraga
September 14, 2019
More Decks by Gustavo Fraga
See All by Gustavo Fraga
Integração Contínua com GitHub, TravisCI e Heroku
lafraga93
0
72
Testes Unitários com PHP
lafraga93
1
30
Boas Práticas com PHP
lafraga93
0
32
Other Decks in Programming
See All in Programming
contenteditable と日本語入力に向き合う
colorful12
0
200
Domain-Driven Transformation
hschwentner
2
2.3k
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
カツオ、ご期待ください
suneo3476
0
190
ジョジョの世界をXRで再現する
mofurune
0
160
残高管理から台帳サービスへの進化
artoy
1
200
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
170
sbt 2.0: takeoff
eed3si9n
0
160
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1.1k
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
290
パスワード再設定メールのURLについて知っておこう
uyuki234
0
160
Featured
See All Featured
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
310
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
410
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
エンジニアに許された特別な時間の終わり
watany
109
250k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Designing for Timeless Needs
cassininazir
1
530
Being A Developer After 40
akosma
92
590k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
How GitHub (no longer) Works
holman
316
150k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Amusing Abliteration
ianozsvald
1
350
Transcript
None
Boas Práticas com PHP
https://blog.lafraga.me/ @lafraga93 no , no e no Gustavo Fraga Software
Developer https://imasters.com.br/perfil/gustavofraga
quem é dev PHP?
quem é dev e faz alguma coisa da vida que
não seja código?
então ...
essa é a primeira recomendação de boas práticas
mas hoje, também vamos falar de PHP!
ambiente de desenvolvimento
servidor embutido
>_ php -S localhost:9000
None
docker
• replicação de ambientes (inclusive para produção) • sem dependências
instaladas na máquina do desenvolvedor
None
>_ docker-compose up
None
componentes
não recrie as coisas, utilize componentes!
• rotas, http, autenticação, emails, arquivos entre outros
composer
• gerenciador de pacotes • provê um padrão de autoload
vamos gerar um pdf?
>_ composer require mpdf/mpdf
None
padrão de codificação e estilo de código
PHP Standard Recommendation
• são padrões recomendados pela comunidade
13 PSR’s ativas
eu só sei vou mostrar algumas
são geralmente implementadas pelos componentes
PSR 0 4 Padrão de Autoload
• define um padrão de carregamento das classes e dependências
• utilização de namespaces e o operador “use”
None
PSR 1 Padrão Básico de Codificação
• visa garantir a interoperabilidade técnica entre códigos PHP •
utilização de tags, termos e namespaces • declaração de classes, métodos e atributos
None
PSR 2 12 Guia do Estilo de Código
• define o padrão de estilo de código da linguagem
• trata sobre indentação, linhas, recuo, arquivos, entre outros
None
ferramentas
php-cs-fixer
• aplica os padrões de estilo de código aos arquivos
do seu projeto
None
>_ … --dev friendsofphp/php-cs-fixer
None
phpstan
• detecta erros no código sem executá-lo
None
>_ … --dev phpstan/phpstan
None
phpinsights
• realiza uma análise da “saúde” do seu projeto
None
>_ … --dev nunomaduro/phpinsights
None
testes unitários
pq testar?
pq sim
como testar?
>_ … --dev phpunit/phpunit ^8
None
dicas
object calisthenics
None
• exercícios de codificação • tornam o código manutenível, legível
e testável
S.O.L.I.D
• princípios de design • tornam o código manutenível, desacoplado
e flexível
Design Patterns
• soluções (padrões de implementação) para problemas que acontecem com
frequência
Test-Driven Development
• implementação guiada por testes • ciclo de desenvolvimento bem
definido • expressiva redução de bugs
obrigado!