Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

AlaorBarroso

Sobre a sintaxe de classes

Recommended Posts

Eae galera... Me tirem essa dúvida: Eu domino bem o uso de classes e métodos mas eu não entendo porque, quando fazemos referência a uma variável de uma classe não usamos o identificador "$" antes do nome dela... por exemplo:

 

PHP [/tr][tr]class Variavel {

 

public $nome;

 

public function pintaNome() {

 

echo( $this -> nome . "." ); } }

 

$testando = new Variavel;

 

$testando -> nome = "AlaorBarroso";

 

$testando -> pintaNome();

[/tr]

 

Porque não se usa por exemplo: $testando -> $nome = "AlaorBarroso", qual a explicação técnica para que não funcione? Porque se fosse apenas uma comodidade se omitir os "$", tudo bem, mas os códigos não funcionam como o esperado se usamos os identificadores.

 

Agradeço aí a quem puder me ajudar... Até!

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

O identificador '$' identifica uma variavel no escopo atual, tanto que na definição da classe tu "seta" a propriedade utilizando '$' ... quando tu acessa uma propriedade de um objeto, ela não é uma váriavel no escopo atual, e sim uma propriedade do objeto, esse sim fazendo parte do escopo e por isso identificado com '$' ...

PHP [/tr][tr]

class Funcionario

{

var $nome; //nota que aqui, no escopo da classe, utilizamos '$'

}

 

$F = new Funcionario; // F é um objeto no escopo do script (o escopo atual) e utiliza '$'

$F->nome = 'dokkalfr'; //nome não pertence ao escopo do script (e sim ao da classe, por isso não é identificado com '$'

 

//pode-se fazer ainda isso

$propriedade = 'nome';

echo $F->$propriedade; //exibe 'dokkalfr' (sem as aspas)

[/tr]

Espero ter ajudade ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.