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

Duvida sobre importar classes

Olá pessoal, estou com a seguinte dúvida.

Porque o Vinicius precisou importar as classes CPF e Pessoa após altera o namespace para "namespace Alura\Banco\Modelo\Funcionario;"

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeQuando eu uso a classe CPF dessa forma eu não preciso usar nem o "use namespace" e nem o "require_once classe"?

Outra coisa pq o 'require_once "autoload.php";' não é chamado dentro da classe funcionario?

2 respostas
solução!

Olá, Anderson.

pq o 'require_once "autoload.php";' não é chamado dentro da classe funcionario?

Porque você já incluiu o arquivo autoload.php em outro local. O PHP funciona com um ponto de entrada. Nós estamos executando um arquivo como banco.php, bonificacoes.php, etc. A partir desse arquivo que tudo é incluído. Então esse arquivo inicial inclui o autoloader, que por sua vez inclui os arquivos de nossas classes (inclusive a de Funcionario).

Quando eu uso a classe CPF dessa forma eu não preciso usar nem o "use namespace" e nem o "require_once classe"?

Eu não entendi sua pergunta porque eu não tenho o contexto todo. "dessa forma" como? Onde está sendo usado, em que classe de qual namespace?

Mas basicamente, para usarmos classes do mesmo namespace, não há necessidade de importação com use.

Vinicius sua resposta tirou a maior parte das minhas dúvidas obrigado.

Basicamente estava com dúvida porque antes de você cria a pasta funcinário não estava sendo necessario utilizar "use Alura\Banco\Modelo\CPF"; Porem quando a pasta funcionário foi criada passou a ser necessário chamar o "use Alura\Banco\Modelo\CPF";

cargo = $cargo; $this->salario = $salario; } public function getCargo() { return $this->$cargo; } public function setCargo($cargo) { $this->cargo = $cargo; } public function getSalario(): float { return $this->salario; } public function setNome(string $nome) { // $this->validaNomeTitular($nome); $this->nome = $nome; } public function recebeAumento(float $valorAumento): void { if ($valorAumento < 0) { echo "O aumento deve ser positivo"; return; } $this->salario += $valorAumento; } public function calculaBonificacao():float { return $this->salario * 0.1; } } ?>