Duvida sobre o formulário de login do template Boa tarde a todos. Estou estudando o framework e o template e ao analisar o LoginForm fiquei com uma dúvida no seguinte trecho de código: ...
GD
Duvida sobre o formulário de login do template  
Boa tarde a todos. Estou estudando o framework e o template e ao analisar o LoginForm fiquei com uma dúvida no seguinte trecho de código:

 
  1. <?php
  2. //Classe THidden ==> Constrói campos ocultos (invisíveis ao usuário)
  3. $previous_class = new THidden('previous_class');
  4. $previous_method = new THidden('previous_method');
  5. $previous_parameters = new THidden('previous_parameters');
  6. if (!empty($param['previous_class']) && $param['previous_class'] !== 'LoginForm')
  7. {
  8. $previous_class->setValue($param['previous_class']);
  9. if (!empty($param['previous_method']))
  10. {
  11. $previous_method->setValue($param['previous_method']);
  12. }
  13. $previous_parameters->setValue(serialize($param));
  14. }
  15. ?>


Não entendi qual a função desses campos invisíveis e para qual finalidade é feito esse if. Tenho certeza de que a dúvida é básica e vou querer me socar quando vir a resposta mas prefiro perguntar do que ficar sem entender. Agradeço desde já a ajuda que receber.

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (5)


NR

Ao tentar acessar uma página do sistema sem estar logado, há um redirecionamento para a tela de login. Esses campos guardam a informação do link original, levando o usuário à página desejada após fazer login.
GD

Obrigado pelos esclarecimentos !
GD

Bom dia Nataniel.

Antes de mais nada obrigado pela atenção. Estava estudando agora me baseando no que você falou mas estou percebendo que , pelo visto, vou precisar rever os conceitos de PHP dos livros do Pablo.

Pelo que entendi do que você falou as váriáveis citadas identificam a classe que o usuário definiu no parâmetro "class" da URL (exemplo: como se ele, sem logar, tivesse digitado na mão algo do tipo "https://www.localhost/sistema/index.php?class=SystemGroupList").

Só que, revendo o fluxo do sistema não estou conseguindo enxergar onde, quando e como o conteúdo do parâmetro "class" da URL (no meu exemplo "SystemGroupList") vai parar na variável "previous_class" para ser usado posteriormente (pós login).

Pelo visto eu não entendi o fluxo de funcionamento de login do template como eu pensava que havia entendido. Tem algum texto, documento, post, vídeo ou coisa parecida que aborde isso para eu poder consultar ? Eu tenho o livro de PHP do Pablo (edições 2 e 4) e o livro do Framework (9ª edição) mas não estou conseguindo encontrar neles a resposta para minhas dúvidas e me ajudar a entender o fluxo de trabalho da rotina de login.

Será que você pode me ajudar?
NR

Acredito que você tenha entendido o fluxo corretamente. As requisições são tratadas pelos arquivo index ou engine, dependendo do tipo de requisição(normal ou ajax).
Veja que no arquivo index tem uma verificação que redireciona o usuário pra tela LoginForm caso o mesmo não esteja logado:
 
  1. <?php
  2. AdiantiCoreApplication::loadPage('LoginForm', '', $_REQUEST);
  3. ?>

A função buildHttpQuery(chamada pela loadPage) da classe AdiantiCoreApplication controla os parâmetros que citou.
Na dúvida, faça uma busca no projeto por "previous_class".
GD

Obrigado pela ajuda Nataniel.
De volta à prancheta de estudos !