4. PHP 7.4
ci ha portato alcune novità interessanti
➔ Preloading
più performance
➔ Arrow functions
più syntax sugar
➔ Typed properties
Bingo!
5. Come possiamo migliorare
ulteriormente
la nostra static
analyis?
Non la fai ancora?
Dai un’occhiata all’incontro
di maggio 2019
https://roma.grusp.o
rg/2019/07/incontro-
di-maggio-2019/
7. Circa il QUARANTA
PER CENTO della
nostra static analysy viene
ingannata da annotation in
phpdoc
Disclaimer
Le percentuali citate
potrebbero differire nella
vita reale.
8. Tipi di classi
Possiamo suddividere grossolanamente le classi
di un nostro progetto in 3 grandi gruppi:
➔ Controller
➔ Servizi
➔ Model 🎉
9. Controller
I controller sono delle classi un po’
particolari, non fatte per istanziare
oggetti ma piuttosto per contenere
brevi metodi
Definiti come
servizi?
Meglio di no, ma
eventualmente ricadiamo
nel caso successivo
10. Servizi
Son la gran parte del nostro codice, ma
sono immutabili.
Suggerimento: se hai un servizio non
immutabile, qualcosa non va.
Storia a scopo puramente illustrativo
11. Le classi di modello
sono la parte più
importante della
nostra applicazione
Videos!
2017
youtube.com/v/KxSEnYbxYRg
2016
vimeo.com/196398557
12. Model
Repository
gestiscono le entity a livello
collettivo
Entity
mappate su tabelle
Value object
“tipi” locali al servizio delle
entity. Immutabili
17. Prossimamente
Con PHP 8 potremmo (condizionale d’obbligo) avere
ulteriori miglioramenti nella static analysis
➔ Generics
class Entry<KeyType, ValueType>
➔ Immutable properties
immutable class Email
public immutable $email;