Função PHP output_reset_rewrite_vars()
Aprenda como a função output_reset_rewrite_vars() do PHP limpa todas as variáveis registradas pelo reescritor de URL, com sintaxe, valores de retorno e exemplos.
output_reset_rewrite_vars() é uma função nativa do PHP que limpa todas as variáveis previamente registradas com o reescritor de URL. O reescritor de URL é o mesmo mecanismo que o PHP usa para encaminhar valores (principalmente o ID de sessão, quando session.use_trans_sid está ativado) entre requisições de página, adicionando-os às URLs e injetando-os em formulários HTML. Esta função devolve a você o controle total sobre essa lista — ela remove tudo o que você adicionou com output_add_rewrite_var().
Nota: Esta é uma função nativa do núcleo do PHP da extensão de controle de saída. Não tem nada a ver com a superglobal
$_GETou com a APIadd_rewrite_var()do WordPress — essas são funções não relacionadas.
O Que output_reset_rewrite_vars() Faz
Quando você chama output_add_rewrite_var('name', 'value'), o PHP começa a adicionar automaticamente name=value a todas as URLs relativas e a adicionar um campo oculto correspondente em todos os formulários do restante da página. Essas variáveis permanecem ativas até o final da saída.
output_reset_rewrite_vars() interrompe esse comportamento imediatamente ao esvaziar a lista de variáveis do reescritor. Qualquer saída produzida após a chamada não carrega mais as variáveis reescritas; a saída já enviada não é afetada.
Sintaxe
output_reset_rewrite_vars(): bool- Parâmetros: nenhum.
- Valor de retorno:
trueem caso de sucesso,falseem caso de falha.
Exemplo Básico
Adicione uma variável, emita alguma saída que a utilize e, em seguida, redefina para que o restante da página fique limpo:
<?php
// Register a rewrite variable: every relative link/form below gets var=value
output_add_rewrite_var('var', 'value');
echo '<a href="page.php">This link carries the variable</a>';
// Rendered as: <a href="page.php?var=value">...</a>
// Clear all registered rewrite variables
output_reset_rewrite_vars();
echo '<a href="other.php">This link is left untouched</a>';
// Rendered as: <a href="other.php">...</a>O primeiro link é reescrito porque a variável está ativa; o segundo não é, pois output_reset_rewrite_vars() a removeu.
Quando Usar
- Limitando a reescrita a uma parte da página. Use
output_add_rewrite_var()no início de uma seção eoutput_reset_rewrite_vars()ao final, para que os links fora dessa seção permaneçam limpos. - Alternando conjuntos de variáveis. Redefina antes de registrar um grupo diferente de variáveis para evitar que valores antigos vazem.
- Desativando o trans-SID localmente. Quando o PHP adiciona automaticamente o ID de sessão às URLs, redefinir o reescritor impede que o ID de sessão seja adicionado a um conjunto específico de links (por exemplo, links apontando para um domínio externo).
Verificando o Resultado
O valor de retorno indica se a redefinição foi bem-sucedida:
<?php
output_add_rewrite_var('token', 'abc123');
if (output_reset_rewrite_vars()) {
echo "Rewrite variables were cleared.\n";
} else {
echo "Failed to clear rewrite variables.\n";
}
// Output: Rewrite variables were cleared.Funções Relacionadas
| Função | Finalidade |
|---|---|
output_add_rewrite_var() | Registra uma variável que o reescritor de URL adiciona às URLs/formulários. |
ob_start() | Inicia o buffer de saída, no qual o reescritor se baseia. |
ob_get_clean() | Retorna e descarta o buffer de saída atual. |
Para uma visão mais ampla de como o PHP gerencia a saída gerada, consulte PHP Output Control. Se suas variáveis de reescrita forem IDs de sessão, o capítulo PHP Sessions explica de onde esses valores vêm.
Conclusão
output_reset_rewrite_vars() é o complemento de output_add_rewrite_var(): ela limpa a lista de variáveis do reescritor de URL para que a saída subsequente pare de carregar valores adicionados automaticamente. Use-a sempre que precisar delimitar ou desfazer a reescrita de URL dentro de uma única requisição.