É apenas um atalho pra concatenar variáveis dentro de strings. Não acho que não
seja útil, quebra muito galho quando você tem intereção entre uma string e uma
variável. Dizer que não é útil é praticamente dizer que não existe utilidade na
concatenação.. algo tão usado em programação.
No caso específico do PHP, a concatenação é menos usada pois [ echo "horas:
$horario"; ] funciona.. mas tem casos em que você realmente precisa concatenar.
----- Original Message -----
From: Djalma Araújo | www.djalmaaraujo.com.br
To: CodeIgniter Brasil
Sent: Wednesday, January 28, 2009 6:55 AM
Subject: Re: [CodeIgniter] Duvida besta php
Nossa que bacana, pensei que era uma duvida altamente besta.. mas todo mundo
ja utilizou alguma vez..
eu pensei que era pra tipo.. separa a variavel do resto, algo como fortificar
que estamos tratando de uma variavel, como no exemplo de um metodo
__set($var) {
$this->{$var);
}
algo para nao haver conflito e tal..
;)
2009/1/28 Newton Wagner <[email protected]>
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
--
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