Jump to content

Recommended Posts

Posted (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 by carcleo
Posted

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?

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.