Limpar variaveis de sessão do sc dinamicamente

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]);

1 Curtida

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.

2 Curtidas

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.

3 Curtidas

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);

3 Curtidas

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.

6 Curtidas

Muito obrigado pela resposta.

3 Curtidas

Excelente sugestão, parabéns mister Haroldo