Quando eu vou executar o meu código, o php dá o seguinte erro:
PHP Fatal error: Trait 'Alura\Banco\Modelo\AcessoPropriedades' not found in C:\Users\Aure\Dropbox\Cursos Alura\PHP\php-orientacao-objetos\projeto\src\Modelo\Pessoa.php on line 7
!---- Eis aqui minha classe pessoa ----!
<?php
namespace Alura\Banco\Modelo;
class Pessoa {
use AcessoPropriedades;
protected $nome;
private $cpf;
public function __construct(string $nome, Cpf $cpf)
{
$this->validaNome($nome);
$this->nome = $nome;
$this->cpf = $cpf;
}
public function getNome():string
{
return $this->nome;
}
public function getCpf():string
{
return $this->cpf->getCpf();
}
final protected function validaNome (string $nome)
{
if(strlen($nome) < 5) {
echo "Nome precisa ter pelo menos 5 caracteres";
exit();
}
}
}
!---- Eis aqui minha trait AcessoPropriedades ----!
<?php
namespace Alura\Banco\Modelo;
trait AcessoPropriedades { public function __get(string $nomeAtributo) { $metodo = 'get' . ucfirst($nomeAtributo); return $this->$metodo(); } }
!---- eis aqui o código de execução ----!
<?php
require_once 'autoload.php';
use Alura\Banco\Modelo\Cpf; use Alura\Banco\Modelo\Funcionario\Desenvolvedor;
$umDesenvolvedor = new Desenvolvedor('Alberto Silveira da Cruz', new Cpf('111.222.333-44'), 3000 );
echo $umDesenvolvedor->nome;