O uso dentro do echo é para definir claramente que trata-se de uma
variável, e não apenas uma string. É difernte do que vinha sendo
discutido aqui.

Eu não disse que concatenação é inútil, se foi assim que eu me fiz
entender, então devo ter escrito algo errado. O que eu acho é que
concatenar o nome de uma variável é totalmente desnecessário. Segue um
exemplo mais tosco, mas bem claro, pensem no que seria mais
interessante:

foreach ($i = 0; $i <= 10; $i++) { ${'variavel_'.$i} = $i; } //
$variavel_0 = 0; $variavel_1 = 1.

ou

foreach ($i = 0; $i <= 10; $i++) { $variavel[$i] = $i; } // array [0]
= 0; [1] = 1.

O que é mais legível? O que foi feito pra ser dessa forma (vetor)?

Foi isso que eu quis dizer em relação ao fato do uso do { } ser desnecessário.


2009/1/28 Edinho Almeida <[email protected]>:
> Eu usei muito na View para ter a proriedade de um objeto sem concatenar:
> foreach($usuarios as $usuario){
>      echo "<tr><td>{$usuario->id}</td><td>{$usuario->nome}</td></tr>"
> }
> Mas ultimamente estou preferindo:
> foreach($usuarios as $usuario){
>
> printf("<tr><td>%s</td><td>%s</td></tr>", $usuario->id, $usuario->nome);
> }
> Abs
> Edinho Almeida
> 11 8018-8019
>
>
> 2009/1/28 Eric Saboia (Fortes Informatica) <[email protected]>
>>
>> É 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
>>
>
>
> _______________________________________________
> 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

Responder a