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

erro no use

Ta dando erro ao usar o use na classe titular para importar a classe Pessoa : Global code should be enclosed in global namespace declaration

<?php
use Alura\Banco\Modelo\Cpf;
use Alura\Banco\Modelo\Endereco;
use Alura\Banco\Modelo\Pessoa;


namespace Alura\Banco\Modelo\Conta;

class Titular extends Pessoa
{

    private Endereco $endereco;

    public function __construct(Cpf $cpf, string $nome, Endereco $endereco)
    {
        parent::__construct($nome, $cpf); //vai chamar o construtor da classe mae, no caso Pessoa
        $this->endereco = $endereco;
    }



    public function getEndereco(): Endereco
    {
        return $this->endereco;
    }

}
<?php

namespace Alura\Banco\Modelo;

class Pessoa
{
    private string $nome;
    private Cpf $cpf;


    public function __construct(string $nome, Cpf $cpf)
    {
        $this->validaNomeTitular($nome);
        $this->nome = $nome;
        $this->cpf = $cpf;
    }

    public function getNome(): string
    {
        return $this->nome;
    }

    public function getCpf(): string
    {
        return $this->cpf->getNumero();
    }
    public function validaNomeTitular(string $nomeTitular)
    {
        if(strlen($nomeTitular) < 5) {
            echo "Nome precisa ter pelo menos 5 caracteres";
            exit();
        }
    }

}
2 respostas
solução!

A declaração namespace deve sempre ser a primeira coisa no arquivo, Artur.

Também estou com erro na execução do arquivo banco.php. Imaginei que poderia ser alguma das referências, mas não está me parecendo isso. O que poderia ser?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade