Moodle: Como Obter o Nome Completo do Usuário com fullname()

No Moodle, é comum precisarmos obter o nome completo de um usuário a partir do ID. Embora seja possível concatenar firstname e lastname manualmente, existe uma forma oficial e mais segura de fazer isso utilizando a própria API do Moodle.

O Problema

Muitos desenvolvedores fazem consultas diretas na tabela mdl_user e concatenam os campos manualmente:

global $DB;
 
$user = $DB->get_record('user', ['id' => $userid]);
 
$nomecompleto = $user->firstname . ' ' . $user->lastname;

O problema dessa abordagem:

  • Ignora formatação configurada no Moodle
  • Não respeita localidade (idioma)
  • Desconsidera plugins que alteram exibição do nome

A Solução Correta

O Moodle possui uma função própria para isso: fullname().

global $DB;
 
$user = $DB->get_record('user', ['id' => $userid]);
 
$nomecompleto = fullname($user);
 
echo $nomecompleto;

Essa função:

  • Respeita o padrão de exibição configurado em Administração > Usuários > Permissões > Políticas de usuário
  • Considera idioma e formato regional
  • Evita problemas futuros em customizações

Exemplo direto em um curso

require_once('../../config.php');
 
$userid = required_param('userid', PARAM_INT);
 
$user = $DB->get_record('user', ['id' => $userid], '*', MUST_EXIST);
 
echo fullname($user);

Quando usar SQL?

Se for apenas para relatório simples via SQL:

SELECT id,
       CONCAT(firstname, ' ', lastname) AS nome_completo
FROM mdl_user;

Mas para desenvolvimento dentro do Moodle (plugins, relatórios customizados, scripts PHP), sempre prefira fullname().

Conclusão

Para obter o nome completo no Moodle, não concatene manualmente. Utilize a função fullname(). Ela é a forma oficial, segura e compatível com futuras atualizações da plataforma.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima