Carlos Rocha Posted June 9, 2018 at 02:33 PM Report #610905 Posted June 9, 2018 at 02:33 PM (edited) Estou tentando aprender namespace mas estou tendo dificuldade. Mesmo fazendo exatamente como está em um vídeo no youtube, mas não dá certo. Tenho a pasta do projeto Citação Projeto Projeto\Cadastros Projeto\Cadastros\Index.php Projeto\Cadastros\Pessoa Projeto\Cadastros\Pessoa\Pessoa.php Projeto\Cadastros\Teste Projeto\Cadastros\Teste\Pessoa.php Index.php <?php ini_set("display_errors",true); ini_set("display_startup_erros",1); error_reporting(E_ALL && E_NOTICE); error_reporting( E_ALL | E_STRICT ); // PHP 5.3 error_reporting( E_ALL ); // Todas as outras versões $pessoa = new Pessoa(1, 40, "Carlos"); $pessoa2 = new Pessoa2(); $pessoa2->setIdPessoa(1); $pessoa2->setIdadePessoa(43); $pessoa2->setNomePessoa("Cleonice"); echo $pessoa->getIdPessoa()."<br >"; echo $pessoa->getNome()."<br >"; echo $pessoa->getIdadePessoa()."<br >"; echo "<br />"; echo $pessoa2->getIdPessoa()."<br >"; echo $pessoa2->getNomePessoa()."<br >"; echo $pessoa2->getIdadePessoa()."<br >"; ?> Pessoa.php <?php namespace Cadastros\Pessoa\Pessoa; Class Pessoa { private $idPessoa; private $idadePessoa; private $nome; public function __construct ($_idPessoa, $_idadePessoa, $_nome) { $this->idPessoa = $_idPessoa; $this->idadePessoa = $_idadePessoa; $this->nome = $_nome; } public function getIdPessoa () { return $this->idPessoa; } public function getIdadePessoa () { return $this->idadePessoa; } public function getNome () { return $this->nome; } } ?> Pessoa.php <?php namespace Cadastros\Teste\Pessoa; Class Pessoa { private $idPessoa; private $idadePessoa; private $nomePessoa; public function __construct () {} public function setIdPessoa ($_idPessoa) { $this->idPessoa = $_idPessoa; } public function setIdadePessoa ($_idadePessoa) { $this->idadePessoa = $_idadePessoa; } public function setNomePessoa ($_nomePessoa) { $this->nomePessoa = $_nomePessoa; } public function getIdPessoa () { return $this->idPessoa; } public function getIdadePessoa () { return $this->idadePessoa; } public function getNomePessoa () { return $this->nomePessoa; } } ?> Erro Citação Fatal error: Uncaught Error: Class 'Pessoa' not found in C:\Program Files\Apache24\Apache24\htdocs\funerariasaopedro.net.br\Cadastros\index.php:19 Stack trace: #0 {main} thrown in C:\Program Files\Apache24\Apache24\htdocs\funerariasaopedro.net.br\Cadastros\index.php on line 19 O que está de errado? Edited June 9, 2018 at 08:30 PM by carcleo
washalbano Posted June 9, 2018 at 06:52 PM Report #610912 Posted June 9, 2018 at 06:52 PM Olá! Como ficou definido o autoload?
Carlos Rocha Posted June 9, 2018 at 07:16 PM Author Report #610913 Posted June 9, 2018 at 07:16 PM Oi, isso é tudo o que eu fiz. O que mais precisa ser feito? Na minha opinião, o namespace vem para substituir o require_once (includes da vida). Mas se tiver mais coisa a se fazer o require_once fica bem mais simples. Não é não?
washalbano Posted June 9, 2018 at 07:41 PM Report #610914 Posted June 9, 2018 at 07:41 PM Aparentemente, vc não vai precisar escrever include nem require nunca mais. Mas ele estará no autoload. Está na PSR-0, veja: https://www.php-fig.org/psr/psr-0/
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now