Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida no Ex. 4 da Aula 3 - Muitos Descontos e o Chain of Responsibility

Olá, eu estou fazendo o exercício da aula mas não entendi pra que vou usar a seguinte classe.

<?php

class Formato { public static $XML = 1; public static $CSV = 2; public static $PORCENTO = 3; } ?>

Alguém pode me explicar?

2 respostas

Oi Lucas, essa classe ela está simulando um ENUM que não temos no PHP ainda infelizmente, ela serve para deixar o código mais legível. Imagina a seguinte situação

if($arquivo->getTipo() == 1) {
    // faz algumas coisa
}

O que esse número 1 significa? Repara que ele não diz muita coisa. Esse problema nós conhecemos como magic numbers falo um pouco melhor disso no meu curso de solid em php aqui no Alura. caso tenha alguma interessa no tópico.

Usando essa classe o mesmo if ficaria

if($arquivo->getTipo() == Formato::XML) {
    // faz algumas coisa
}

esse atributo só define um nome para o valor 1 agora para quem lê o código fica um pouco mais claro o que esse if está fazendo, espero que tenha ajuda.

Abraços e bons estudos

solução!

Entendi, obrigado!