1) duvida. Náo deu para retornar a clase generica CalculaDesconto diretamente o return como aparece no video do curso. Em lugar disso teve que criar a variavel $ValorDesconto e retornar a variavel e gostaria de entender porque, visto que o valor contido em $this->ProximoDesconto->Desconto($Orcamento); seria o mesmo. retornando direto a conta somente servia para o primeiro elo, (na primeira condicao de desconto) caso contrario, quando avalia as seguintes condicoes retornava sempre null. 2)duvida. Acho muito chato PHP para debugar, tem alguma ferramenta que me faca poupar tempo para encontrar erros? fico sempre debugando na logica usando var_dump, rastreando... muito chato isso.
private $ValorDesconto;
public function Desconto(Orcamento $Orcamento){
//private $ProximoDesconto;
if ($Orcamento->getValor() > 500 and $Orcamento->getValor()<= 1000){
$ValorDesconto= $Orcamento->getValor() * 0.05;}
else{$ValorDesconto= $this->ProximoDesconto->Desconto($Orcamento);}