1
resposta

[Dúvida] AutoLoad

Em relação autoload eu acabe ficando com uma dúvida, require_once não faz a mesma função do use? Ou eu só coloquei o use por conta do namespace? ai se eu não colocar o namespace não consigo mais usar a class sem o use. Me deu um nó na cabeça kkkk

<?php

require_once 'autoload.php';

use Alura\Banco\Modelo\{CPF,Endereco};
use Alura\Banco\Modelo\Conta\Titular;
use Alura\Banco\Modelo\Conta\Conta;


$endereco = new Endereco('Rua: tinha',' 7070', 'teste','SP');
$allef = new Titular(new CPF('111.222.333-55'),'Allef',$endereco);
1 resposta

Oii Allef, tudo bem?

O require_once e o use têm funções diferentes no PHP.

O require_once é usado para incluir um arquivo PHP em outro. No seu caso, require_once 'autoload.php'; está incluindo o arquivo que contém a função de autoload. A função de autoload é responsável por carregar automaticamente os arquivos das classes quando elas são instanciadas.

Por outro lado, o use é utilizado para importar classes, traits ou namespaces. No seu código, por exemplo, use Alura\Banco\Modelo\{CPF,Endereco}; tá importando as classes CPF e Endereco do namespace Alura\Banco\Modelo.

Então, respondendo à sua pergunta, o use não substitui o require_once. Eles têm propósitos diferentes e ambos são necessários no seu código.

Um abraço e bons estudos.

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