Alguém sabe alguma maneira de limpar dinamicamente as variáveis de ambiente do sc?
Pela macro sc_reset_global somos obrigados a passar o valor literal da variável. Não funciona utilizando uma variavel dentro dos colchetes.
Boa tarde sr Tadeu, a documentação da uma ajuda neste respeito veja abaixo por favor se era isto que buscava:
EX.: sc_reset_global ([Login], [Senha]);
Obrigado pela resposta.
Desta forma eu já faço hoje, porém, preciso passar o nome das variáveis de forma estática, não sendo possível fazer um código dinamico.
Exemplo:
vamos supor que eu queira resetar as variaveis: a,b,c,d,e,f .
Hoje eu preciso fazer: sc_reset_global([a],[b],[c],[d],[e],[f]).
Eu gostaria de uma forma de poder passar o nome das variáveis como lista e passar dinamicamente estes nomes como parametro para a sc_reset_global.
segue o código:
$listaVar = ‘a,b,c,d,e,f’;
$aLista = explode(’,’,$listaVar).
foreach($aLista as $item)
{
sc_reset_global([$item]);
}
Sei que não funciona com a sc_reset_global, pois esta macro exige a passagem literal do nome. Gostaria de saber se existe outro jeito.
Veja no código fonte como são geradas as globais, e utilize da mesma forma que no código fonte.
Mas antes atente se se as globais estão.marcadas como sessão e como opcional, pois isso muda o tratamento.
Se você marcar como sessão:
Exemplo: global em sessão: [GLOBAL];
nas aplicaões pode acessar dinamicamente da forma:
$glo = “sc_temp_”.“GLOBAL”;
print_r($this->$glo);
o seu exemplo:
$listaVar = ‘a,b,c,d,e,f’;
$aLista = explode(’,’,$listaVar).
foreach($aLista as $item)
{
//traduzindo a macro sc_reset_global
unset($_SESSION[$item]);
$glo = 'sc_temp_'.$item;
unset($this->$glo);
}
Estudar o código fonte gerado pelo SC faz a diferença nesses casos.
Muito obrigado pela resposta.
Excelente sugestão, parabéns mister Haroldo