Olá, Karolina!
Vamos por partes:
1 - Observe que no trecho if(!is_null($this->id))
, temos o operador $this
, que faz referência ao objeto
que está chamando esta função, ou seja, se fizermos:
$estudantePedro = new Student();
$estudantePedro.defineId(1);
O operador $this
automaticamente pegará o endereço de memória onde a variável $estudantePedro
está armazenada e fará a verificação necessária.
2 - Não teremos id
repetido, pois estamos somente pegando o número da coluna
(da tabela students
) onde o estudante foi salvo no Banco de Dados e atualizando o nosso objeto
estudante.
Vou deixar como referência o link da documentação oficial, para que você possa consultar mais detalhes o método lastInsertId()
: https://www.php.net/manual/pt_BR/pdo.lastinsertid.php
Espero ter ajudado!
Boa sorte em seus estudos!