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

Require x Use

Pessoal, ao fazer os exercícios do vídeo "Criando a Classe Titular" da Aula 6, para a aplicação funcionar, além de usar o require_once para "importar" a classe Titular, o PHP colocou automaticamente o Use. Achei que o require_once já fosse suficiente para funcionar. Alguém poderia me explicar isso? Fiquei confuso...

<?php

use src\Titular;

require_once 'src/Conta.php';
require_once 'src/Titular.php';

Código completo da classe banco.php

<?php

use src\Titular;

require_once 'src/Conta.php';
require_once 'src/Titular.php';

$primeiraConta = new Conta(new Titular('123.456.789-10', 'Fulano'));
$primeiraConta->depositar(500);
$primeiraConta->sacar(300);

echo "CPF: " . $primeiraConta->recuperarTitular()->recuperarCpf() . PHP_EOL;
echo "Nome: " . $primeiraConta->recuperarTitular()->recuperarNome() . PHP_EOL;
echo "Saldo: " . $primeiraConta->recuperarSaldo() . PHP_EOL;

echo "Número de Contas: " . Conta::recuperarNumeroDeContas();
3 respostas
solução!

O "require_once" nesse caso é suficiente para utilizar o arquivo desejado.

O "use" fora da classe, no inicio do arquivo é utilizado quando se trabalha com nameSpace.

A IDE tentou ajudar mas acabou atrapalhando...

Olá, Fábio. No segundo treinamento nós falamos sobre namespace e você aprenderá o uso da palavra reservada use do PHP.

Veja se na definição das classes você não acabou colocando namespaces sem querer.

Obrigado pelas respostas, Eduardo e Vinícius! Consegui compreender um pouco melhor.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software