SlideShare une entreprise Scribd logo
1  sur  40
FB: facebook.com/peckadesign TW: @peckadesign
23. Sraz Přátel PHP v Brně
PeckaDesign
sli.do/PeckaPehapkari
FB: facebook.com/peckadesign TW: @peckadesign
PECKADESIGN
Václav Čevela
Validujte vstupní data pomocí objektů
FB: facebook.com/peckadesign TW: @peckadesign
Validování vstupních dat?
FB: facebook.com/peckadesign TW: @peckadesign
Vstupní data jsou špatně
FB: facebook.com/peckadesign TW: @peckadesign
Název produktu?
FB: facebook.com/peckadesign TW: @peckadesign
Cena?
FB: facebook.com/peckadesign TW: @peckadesign
Vstupní data jsou špatně
- jsou neúplné
- chybí hodnoty
- dostávám špatné pořadí dat
- chybí definované pole
FB: facebook.com/peckadesign TW: @peckadesign
Undefined property: stdClass::$price
FB: facebook.com/peckadesign TW: @peckadesign
Takže k vstupním datům
- Dostáváme data ve více endpointech
- Začneme od zpracování ceny
- Přes inicializování produktu
- Po získání dodatečných dat
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
A k zpracování
Zapracovali jsme všechny předchozí nedostatky a výsledek je:
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
Je to hezký kód?
- Je to dobře čitelné?
- Jednoduše pochopitelné?
- Neopakujeme se?
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
Kam dál
- Rozdělení podle typu úkonu
- Získání našich dat
- Příprava dat pro uložení
- Uložení
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
Výsledek
- Rozděleno do logických celků
- Znovupoužitelné kontroly
- Odolnost vůči chybám
- Lépe udržovatelné
FB: facebook.com/peckadesign TW: @peckadesign
Co s exception
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
One more thing
- Dodané data jsou pole a stdClass
- Co chybějící pole ve schématu obdržených dat?
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
FB: facebook.com/peckadesign TW: @peckadesign
Odkazy
github.com/VBoss/ObjectValidationPehapkari
Your code sucks https://www.youtube.com/watch?v=GtB5DAfOWMQ
amazon.com/Clean-Code/dp/0132350882
amazon.com/Elegant-Objects/dp/1519166915
FB: facebook.com/peckadesign TW: @peckadesign
DĚKUJI ZA POZORNOST
Václav Čevela
Máte dotazy?
e-mail: vaclav.cevela@peckadesign.cz
https://github.com/spameri
Twitter: @Spamercz
blog.spameri.cz

Contenu connexe

Plus de PeckaDesign.cz

Plus de PeckaDesign.cz (20)

Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022
Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022
Péhápkaři v Pecce: Naše cesta k read-modelu – Vojtěch Buba –18. 5. 2022
 
Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...
Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...
Péhápkaři v Pecce: Jak zrefaktorovat letitou aplikaci a zároveň začít na zele...
 
WebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlům
WebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlůmWebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlům
WebTop100 Case study MEGAPIXEL – Redesign spuštěný proti pravidlům
 
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
Péhápkaři v Pecce: Sbohem PeckaCI, vítej Github Actions – Jakub Englický –27....
 
Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...
Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...
Péhápkaři v Pecce: Podpora PHP8 v Kdyby/Redis a Kdyby/RabbitMQ – Václav Čevel...
 
Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...
Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...
Péhápkaři v Pecce: Půl roku na cestách jako digitální nomád – Jan Kadeřábek –...
 
Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019
Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019
Péhápkaři v Pecce: Vývoj vlastního 'ORM' – Václav Čevela – 20. 11. 2019
 
Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019
Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019
Péhápkaři v Pecce: pd/forms – Petr Klobás – 16. 10. 2019
 
Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019
Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019
Péhápkaři v Pecce: Za hranicemi DateTime – Jiří Pudil – 16. 10. 2019
 
Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019
Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019
Péhápkaři v Pecce: Úvod do monitoringu – Tomáš Kozák – 16. 10. 2019
 
Asynchronní programování
Asynchronní programováníAsynchronní programování
Asynchronní programování
 
ElasticSearch Dump
ElasticSearch DumpElasticSearch Dump
ElasticSearch Dump
 
Pokročilá validace síly hesla
Pokročilá validace síly heslaPokročilá validace síly hesla
Pokročilá validace síly hesla
 
Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...
Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...
Péhápkaři v Pecce: Každodenní problémy s implementací Facebook Api – Marek Hu...
 
Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...
Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...
Péhápkaři v Pecce: Čtyři hlavní příčiny dysfunkčních návyků v týmu – Michal A...
 
Péhápkaři v Pecce: Jak si lokálně spustit Travis CI Build – Jakub Englický – ...
Péhápkaři v Pecce: Jak si lokálně spustit Travis CI Build – Jakub Englický – ...Péhápkaři v Pecce: Jak si lokálně spustit Travis CI Build – Jakub Englický – ...
Péhápkaři v Pecce: Jak si lokálně spustit Travis CI Build – Jakub Englický – ...
 
Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...
Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...
Péhápkaři v Pecce: Jak jsme neposlali pull request do PHP – Milan Pála – 17. ...
 
Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...
Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...
Péhápkaři v Pecce: Zend Expressive: PSR framework který vás dostane – Jan Kad...
 
Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019
Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019
Péhápkaři v Pecce: Jak na bezpečnostní hlavičky – Marek Humpolík – 23. 1. 2019
 
PeckaAcademy - Zbožové srovnávače od A-Z - Petra Mariánková
PeckaAcademy - Zbožové srovnávače od A-Z - Petra MariánkováPeckaAcademy - Zbožové srovnávače od A-Z - Petra Mariánková
PeckaAcademy - Zbožové srovnávače od A-Z - Petra Mariánková
 

Péhápkaři v Pecce: Validujte vstupní data pomocí objektů – Václav Čevela – 14. 11. 2018