Que tipo de variável você usaria para representar um "preço"? Integer, Float ou String?
Bem, na verdade você deveria usar o tipo "Price". É possível sim, usar os tipos Float e até Integer. Mas, esses tipos tem propriedades que não fazem sentido para valores monetários, afinal, não é muito comum multiplicar um valor monetário por outro valor monetário. Da mesma forma, valores monetários tem propriedades e operações específicas que os tipos primitivos não tem.
Nesta palestra, tenho como objetivo apresentar o conceito de Value Objects, explicar por que usar tipos primitivos pode ser considerado uma má prática, e como implementá-los usando PHP de forma a deixar o código limpo e claro;