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:
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.
- <?php
- //Classe THidden ==> Constrói campos ocultos (invisíveis ao usuário)
- $previous_class = new THidden('previous_class');
- $previous_method = new THidden('previous_method');
- $previous_parameters = new THidden('previous_parameters');
- if (!empty($param['previous_class']) && $param['previous_class'] !== 'LoginForm')
- {
- $previous_class->setValue($param['previous_class']);
- if (!empty($param['previous_method']))
- {
- $previous_method->setValue($param['previous_method']);
- }
- $previous_parameters->setValue(serialize($param));
- }
- ?>
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.
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.
Obrigado pelos esclarecimentos !
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?
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:
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".
Obrigado pela ajuda Nataniel.
De volta à prancheta de estudos !