EXPLICANDO A KEYWORD "NEW" COM COMIDA:
Imagine que você vai numa Dominos. Como qualquer ser humano normal, você vai pedir uma pizza cababresa, e pasmem: essa pizza é sua. Se o caixa fosse um console, pedir uma pizza seria o equivalente à executar:
$minhaPizza = new Pizza("calabresa")
e voilá: você tem uma instância de pizza só sua;
O próximo cliente que chegou queria uma pizza calabresa também! Porém ele não é um programador, não usou o new, ele simplesmente chegou na atendente e disse: EU QUERO A PIZZA DAQUELE CARA. Prontamente a moça foi la, te encheu de porrada, pegou tua pizza e deu pra esse novo cliente. Novamente, se fosse um console, esse novo cliente executou
$novaPizza = $minhaPizza.
MAS PORQUE ISSO ACONTECEU?
Porque existe uma diferença entre Valor x Referência. Ao atribuir
new Pizza("calabresa")
à minhaPizza você fez o correto, criou um valor que é atribuído a um novo endereço de memória, ao passo que o cara que fez novaPizza = minhaPizza não criou um novo endereço de memória, mas REFERENCIOU o seu!
Então tomem cuidado ao lidar com seus objetos para não cair em um erro tão bestinha!