Lançado Adianti Framework 7.6!
Clique aqui para saber mais
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.         
  4.         $previous_class = new THidden('previous_class');
  5.         $previous_method = new THidden('previous_method');
  6.         $previous_parameters = new THidden('previous_parameters');
  7.         if (!empty($param['previous_class']) && $param['previous_class'] !== 'LoginForm')
  8.         {
  9.             $previous_class->setValue($param['previous_class']);
  10.             
  11.             if (!empty($param['previous_method']))
  12.             {
  13.                 $previous_method->setValue($param['previous_method']);
  14.             }
  15.             
  16.             $previous_parameters->setValue(serialize($param));
  17.         }
  18. ?>


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 completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto 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 !