Apesar de achar interessante o método de trabalho nesses casos do PHP,
eu não acho isso muito útil, na prática.
No exemplo do Douglas, eu teria utilizado arrays ao invés de
concatenar vários nomes de variáveis:
$this->validation->{$semana.'_'.$x.'_'.$y.'_error'}; // um meio de fazer
$this->validation->erros_semana[$x][$y]; // algo parecido com isso
Não sei se é um caso real ou se foi só um exemplo, mas o que quero
dizer é que não me lembro de ter utilizado as chaves dessa forma no
PHP nenhuma vez.
2009/1/28 Vicente Russo Neto <[email protected]>:
> Opa
>
> Usa-se { e } para trabalhar com variáveis variáveis. Usando { } voce pode
> concatenar strings, como o Douglas mostrou em seu exemplo, ou usar "$$"
> Nesse caso o nome completo da variavel vai ser passado, no exemplo abaixo
> "$proc" tem o valor de "teste", que é passado como o nome da variavel
> $teste, que tem o valor "valor_teste" que é passado para a propriedade da
> classe, que tem o valor "teste de variavel variavel"...
>
> Veja o código abaixo:
>
> class Teste extends Controller {
>
> function Teste () {
> parent::Controller();
> }
>
> function index() {
> $this->processa = "variavel do objeto";
> $this->valor_teste = "teste de variavel variavel";
> $var = 'processa';
> $teste = "valor_teste";
> $proc = 'teste';
> echo $this->{$var}(); // Aqui vai exibir "retorno da funcao"...
> echo '<hr>';
> echo $this->{$var}; // Aqui vai exibir "variavel do objeto"...
> echo '<hr>';
> echo $this->$$proc; // Aqui vai exibir "teste de variavel
> variavel"...
> }
>
> function processa() {
> echo "retorno da funcao";
> }
>
> }
>
> Manual: http://www.php.net/language.variables.variable
>
> 2009/1/27 Djalma Araújo | www.djalmaaraujo.com.br <[email protected]>
>>
>> Quando colocamos por exemplo. $this->{$var} = 'teste';
>> qual o papel dos {} ?
>>
>> --
>> Atenciosamente,
>> Djalma Araújo
>> Consultor / Desenvolvedor WEB.
>> www.djalmaaraujo.com.br
>>
>> _______________________________________________
>> Lista mailing list
>> [email protected]
>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>
>
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
--
Newton Wagner
skype: newtonwagner
msn/gtalk: [email protected]
http://www.newtonwagner.net/
- http://www.owshit.com.br/
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br