Variáveis Variáveis
Conforme a dica do Ragen e do Silvano no artigo sobre referência aqui vai a dica de
como trabalhar com isso com a register_globals do php.ini setada como off
e então $$a iria conter o conteúdo do vetor por referência e provavelmente com isso dê para trabalhar com a register_globals setada como off.
Não vou fazer um script completo para deixar a imaginação de cada um fluir e termos aqui bons exemplos de como melhorar a idéia proposta acima.
Abraços e até o próximo artigo!
como trabalhar com isso com a register_globals do php.ini setada como off
<?php $a = &$_GET['foo']; ?>
e então $$a iria conter o conteúdo do vetor por referência e provavelmente com isso dê para trabalhar com a register_globals setada como off.
Não vou fazer um script completo para deixar a imaginação de cada um fluir e termos aqui bons exemplos de como melhorar a idéia proposta acima.
Abraços e até o próximo artigo!
Escrever é dificil pra caramba.. apesar de ter pego alguns exemplos do php.net e ter tentando passar um exemplo é realmente um assnuto complicado..
Valeu novamente pelos comentários.. que muitas vezes agregam valores aos artigos :)
Valeu novamente pelos comentários.. que muitas vezes agregam valores aos artigos :)
14/12/2003 6:28pm
(~21 anos atrás)
Uso esse sistema em meu site.
Estoco as variaveis num arquivo config que incluo nos arquivos do site.
Cada variavel dessa tem um nome e o valor (url).
O que faco e basicamente isso:
-Os links saum desta forma
<a href="?g=principal">
?g=downloads
?g=contato
- ai faco isso:
$go = $_GET['g'];
$add = $$go;
<iframe src=<?=$add?>>
- ai se g=downloads, ele ira procurar pela var downloads e usara seu valor na iframe.
É claro que eu trato os dados que sao provenientes do GET que podem ser perigosos, mas é ate seguro, pois os enderecos sao definidos pelas variveis do config.
Estoco as variaveis num arquivo config que incluo nos arquivos do site.
Cada variavel dessa tem um nome e o valor (url).
O que faco e basicamente isso:
-Os links saum desta forma
<a href="?g=principal">
?g=downloads
?g=contato
- ai faco isso:
$go = $_GET['g'];
$add = $$go;
<iframe src=<?=$add?>>
- ai se g=downloads, ele ira procurar pela var downloads e usara seu valor na iframe.
É claro que eu trato os dados que sao provenientes do GET que podem ser perigosos, mas é ate seguro, pois os enderecos sao definidos pelas variveis do config.
13/12/2003 4:14pm
(~21 anos atrás)
Concordo com vc, mas acho que ele foi explicativo o suficiente, o problema e que um iniciante naum dispoe de muita logica de programacao, entao fica dificil entender algo tao abstrato, mas acho que ele explico muito bem sim
uma explicacao rapida:
como $a = "ola";
entao
$$a sera $ola pois $a contido em $$a, sera interpretado com "ola", ja que $a vale "ola"
acho que e basicamente isso...
talvez faltaram mais exemplos de uso, pois sao enormes os seus usos
uma explicacao rapida:
como $a = "ola";
entao
$$a sera $ola pois $a contido em $$a, sera interpretado com "ola", ja que $a vale "ola"
acho que e basicamente isso...
talvez faltaram mais exemplos de uso, pois sao enormes os seus usos
13/12/2003 4:00pm
(~21 anos atrás)
Legal, Parabens!!
Agora um iniciante não entenderia muito bem o assunto não, podia ser mais explicativo.
No mais, tudo bem.
;)
Agora um iniciante não entenderia muito bem o assunto não, podia ser mais explicativo.
No mais, tudo bem.
;)
13/12/2003 12:11pm
(~21 anos atrás)
Bom, eu formulei algo aki, nao testei ainda nao, mas talvez funcione...
Seria legal definir tb, quantos checkboxs há, por meio de uma var e passá-la pelo form
Outra coisa, que nao pus no codigo abaixo, seria o uso, por seguranca, de ${$a}check, em vez de $$a, para que o 'usuario' nao saiba os nomes da variveis a qual se esta atribuindo o valor dos checks
<?php
$num = $_POST['num']; // numero de checkboxs
$a = "ck_$x";
for($x=0;$x<$num;$x++){
$$a = $_POST[$a];
}
?>
Seria legal definir tb, quantos checkboxs há, por meio de uma var e passá-la pelo form
Outra coisa, que nao pus no codigo abaixo, seria o uso, por seguranca, de ${$a}check, em vez de $$a, para que o 'usuario' nao saiba os nomes da variveis a qual se esta atribuindo o valor dos checks
<?php
$num = $_POST['num']; // numero de checkboxs
$a = "ck_$x";
for($x=0;$x<$num;$x++){
$$a = $_POST[$a];
}
?>
08/12/2003 4:11pm
(~21 anos atrás)
Nunca havia tentado fazer isso com classes, mas achei super interessante a idéia.. bem Legal David !
Valeu pela dica
Valeu pela dica
06/12/2003 7:18am
(~21 anos atrás)
Bem lembrado David, já vi um script de um cara que usava as funções dele assim, de acordo com o que vinha de um GET que estava no link ele fazia um switch e nele tinha uma variável com o nome da função, daí ele só chamava a função depois do switch, muito útil...
Isso eu vi no início do meu aprendizado, e até aí eu nunca tinha visto nada muito útil com o switch... Como o bichinho é bom...
Isso eu vi no início do meu aprendizado, e até aí eu nunca tinha visto nada muito útil com o switch... Como o bichinho é bom...
06/12/2003 6:49am
(~21 anos atrás)
Lembrando ainda que esse tipo de tratativa com as variáveis pode ser usada para funções e classes. Por exemplo:
$func = "foo";
echo $func($arg1,$arg2,...);
$class= "bar";
$foo = new $class();
--db
$func = "foo";
echo $func($arg1,$arg2,...);
$class= "bar";
$foo = new $class();
--db
05/12/2003 8:22pm
(~21 anos atrás)
Gostei do artigo, isso é problema frequente nas listas e fóruns de php, pode ajudar bastante. Sobre as variáveis variáveis, este sim é um recurso interessante do php, e paar utilizar é bem parecido com a manipulação dos valores e das chaves de arrays. Esse é o nosso php...
05/12/2003 3:48pm
(~21 anos atrás)
Essa parte eu nunca havia visto no manual do PHP, realmente por desinteresse. Mas, através do artigo, conheci novas formas o qual não conhecia e estão sendo úteis, como a $var{$var}. Abraços