Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Programação defensiva com PHP
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Joubert RedRat
September 15, 2025
Technology
0
28
Programação defensiva com PHP
Joubert RedRat
September 15, 2025
Tweet
Share
More Decks by Joubert RedRat
See All by Joubert RedRat
Testes de integração com Testcontainers
joubertredrat
0
39
Retome o controle do seu analytics com Matomo
joubertredrat
0
38
#tbt do PHP, a evolução da linguagem nos últimos 30 anos
joubertredrat
0
39
DevBox, o meu pequeno projeto open source para o dia a dia do dev
joubertredrat
0
40
O poder do Object Calisthenics no PHP
joubertredrat
0
150
Playing with Docker and Docker Compose
joubertredrat
0
150
Why migrate your application to microservices?
joubertredrat
0
32
Por que migrar sua aplicação para Microserviços?
joubertredrat
0
34
Uso prático de fakes para mocks no Golang
joubertredrat
0
87
Other Decks in Technology
See All in Technology
QA組織のAI戦略とAIテスト設計システムAITASの実践
sansantech
PRO
1
120
Phase04_ターミナル基礎
overflowinc
0
2.1k
Navigation APIと見るSvelteKitのWeb標準志向
yamanoku
2
110
Astro Islandsの 内部実装を 「日本で一番わかりやすく」 ざっくり解説!
knj
1
240
Phase06_ClaudeCode実践
overflowinc
0
1.8k
データマネジメント戦略Night - 4社のリアルを語る会
ktatsuya
1
210
建設DXを支えるANDPAD: 2025年のセキュリティの取り組みと卒業したいセキュリティ
andpad
0
170
Phase07_実務適用
overflowinc
0
1.7k
「コントロールの三分法」で考える「コト」への向き合い方 / phperkaigi2026
blue_goheimochi
0
140
20年以上続く PHP 大規模プロダクトを Kubernetes へ ── クラウド基盤刷新プロジェクトの4年間
oogfranz
PRO
0
170
Phase11_戦略的AI経営
overflowinc
0
1.4k
スピンアウト講座06_認証系(API-OAuth-MCP)入門
overflowinc
0
1.1k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Test your architecture with Archunit
thirion
1
2.2k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
150
How to train your dragon (web standard)
notwaldorf
97
6.6k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
130
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
260
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
300
Building Flexible Design Systems
yeseniaperezcruz
330
40k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
Practical Orchestrator
shlominoach
191
11k
Transcript
Programação defensiva com PHP
Quem sou eu? Sou este ai https://creativecommons.org/licenses/by-sa/4.0/ https://redrat.com.br
Eu não sou uma entidade divina O que eu falo
não é uma verdade absoluta, não tenha medo de questionar
Programação defensiva O que deve ser?
Programação defensiva
Programação defensiva • Antecipação e resolução de possíveis problemas •
Prevenção de travamentos • Maior garantia de estabilidade e segurança • Confiabilidade e robustez
None
None
Esse trecho de código funciona?
Sim, mas pode ser melhor
None
None
Técnicas usadas Validação no Construtor Validação do e-mail imediatamente na
criação do objeto Type Hinting Tipagem do $email como uma string
Técnicas usadas Imutabilidade Propriedade readonly impede alterações após criação Validação
de Formato Uso do FILTER_VALIDATE_EMAIL para verificar string como formato válido
Técnicas usadas Fail Fast Lançamento de exceção por dados inválidos
DTO Pattern Separação da validação de dados da lógica de negócio
Técnicas Comuns
Validação de entrada de dados • Verificar campos obrigatórios •
Validar formato (e-mail, CPF) • Limitar tamanho de strings • Garantir tipo de dado (número)
Tratamento de Exceções • Capturar exceções • Lidar com falhas
de rede • Registrar exceções inesperadas
Fail-first / Fail-early • Detectar entradas incorretas rapidamente • Interromper
a execução imediatamente • Evitar propagação de dados inválidos • Garantir maior confiabilidade do sistema
Segurança • Sanitizar entradas (SQL Injection) • Escapar saídas (XSS)
• Validar permissões de usuário • Criptografar dados sensíveis
Robustez de Funções e Métodos • Checar argumentos nulos •
Validar estado do objeto • Garantir pré-condições • Verificar pós-condições
Benefícios • Reduzir erros e falhas • Aumentar a estabilidade
do software • Reforçar a segurança da aplicação • Facilitar a manutenção e melhorar a coesão • Otimizar a experiência do usuário
Perguntas?
Esta e outras palestras https://bit.ly/joubertredrat-palestras
Obrigado