/** * Método que retorna um aluno de acordo com o código informado * e o usuário logado. * * @param int $id O código do aluno * @param Aluno $especializacao Case seja informado, usa como * modelo para o retorno * * @return Aluno Um objeto do tipo aluno contendo os dados do * aluno informado * * @throws UsuarioException */ public function getAluno($id, Aluno $especializacao = null) { $sqlALuno = new SqlAluno(); $alunoModelo = new Aluno(); $aluno = null; if (!is_null($especializacao)) { $alunoModelo = $especializacao; } switch ($this->perfilLogado) { case Perfil::ALUNO: $aluno = $sqlALuno->get($this->idLogado, $alunoModelo); break; case Perfil::COORDENADOR: $alunoModelo->setId($id); $coordenador = new Coordenador($this->idLogado); $aluno = $sqlALuno->getDeCoordenador($coordenador, $alunoModelo); break; default: $aluno = $sqlALuno->get($id, $alunoModelo); break; } return $aluno; }