Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Função desconhecida

Fiquei travado em um erro: O PHP não reconhece a função que chamei porque eu estou usando ela antes de declará-la na sequência do código, mas no vídeo isso não acontece. O que eu fiz de errado?

class Student //* CREATE CLASS STUDENT
{
//* NAME OF THE STUDENT AND YOUR REGISTER ON THE SYSTEM
    private static array $STUDENTS = [];
    private array $grades; //* THE GRADES ALONG THE YEAR (key = date, value = grade)
    private int $abscences = 0;//* NUMBER OF ABASCENCES ALONG THE YEAR
    public readonly int $registry;
    public function __construct(
        public readonly string $name,
        public readonly string $group,
        $registry
    )   {
        $this->registry = checkRegistry($registry);
        self:: $STUDENTS[] = $this; 
        echo "Novo aluno: $this->name adicionado com sucesso" . PHP_EOL;
    }    
    
    
    public function checkRegistry($registry)
    {
        $pattern = "~^[0-9]{4}$~";
        if(! preg_match($pattern, $registry)){
            return 0000;
        }
    }
}
1 resposta
solução!

Oii, Miguel. Como você não colocou a mensagem de erro completa, eu acredito que o erro seja na seguinte linha:

$this->registry = checkRegistry($registry);

Nesse caso você precisa usar o $this para chamar o método da classe, da seguinte maneira:

$this->registry = $this->checkRegistry($registry);

Espero ter ajudado e bons estudos :)