Classes e Objetos
PHP Manual

Propriedades

Variáveis membros de uma classe são chamadas "propriedades". Pode-se também observar serem referidas utilizando outros termos como "atributos" ou "campos", mas para o propósito desta referência, usaremos "propriedades". São definidas usando uma das palavras-chave public, protected, or private, seguidas de uma declaração normal de variável. Esta declaração pode incluir sua inicialização, porém esta inicialização deve ser um valor constante--isso é, deve ser possível avaliá-lo em tempo de compilação e não deve-se depender de informações de tempo de execução.

See Visibilidade for more information on the meanings of public, protected, and private.

Nota:

Para manter a retrocompatibilidade com o PHP 4, o PHP 5 continuará aceitando o uso da palavra-chave var na declaração de propriedades ao invés de (ou em adição a) public, protected, ou private. Entretanto, var não é mais obrigatório. Em versões entre o PHP 5.0 e 5.1.3, o uso de var era considerado obsoleto e emitiria um aviso E_STRICT, mas desde o PHP 5.1.3, seu uso não é mais obsoleto e não será emitido um aviso.

Caso declare uma propriedade usando var ao invés de public, protected, ou private, o PHP 5 tratará a propriedade como se tivesse declarada como public.

Métodos dentro de classes podem acessar propriedades não estáticas usando -> (Operador de Objeto): $this->property (onde property é o nome da propriedade). Propriedades estáticas são acessadas utilizando os :: (Dois pontos dublo): self::$property. Veja Palavra-chave Static para mais informações sobre a diferente entre propriedades estáticas e não estáticas.

A pseudo-variável $this está disponível dentro de métodos de qualquer classe quando o método é chamado dentro do contexto do objeto. $this faz referência ao objeto chamado (geralmente o objeto o qual o método pertence, mas possível outro objeto, se o método é chamado estaticamente do contexto de um segundo objeto).

Exemplo #1 declaração de propriedades

<?php
class SimpleClass
{
   
// valid as of PHP 5.6.0:
   
public $var1 'hello ' 'world';
   
// valid as of PHP 5.3.0:
   
public $var2 = <<<EOD
hello world
EOD;
   
// valid as of PHP 5.6.0:
   
public $var3 1+2;
   
// invalid property declarations:
   
public $var4 self::myStaticMethod();
   public 
$var5 $myVar;

   
// valid property declarations:
   
public $var6 myConstant;
   public 
$var7 = array(truefalse);

   
// valid as of PHP 5.3.0:
   
public $var8 = <<<'EOD'
hello world
EOD;
}
?>

Nota:

Existem algumas funções interessantes para manipulação de classes e objetos. Se desejar dê uma olhada nas funções de Classes/Objetos.

Diferentemente, heredocs, nowdocs podem ser utilizados em qualquer contexto de dados estáticos, incluindo assim, declaração de propriedades.

Exemplo #2 Exemplo de uso do nowdoc para inicializar uma propriedade

<?php
class foo {
   
// As of PHP 5.3.0
   
public $bar = <<<'EOT'
bar
EOT;
   public 
$baz = <<<EOT
baz
EOT;
}
?>

Nota:

O suporte ao nowdoc foi adicionado no PHP 5.3.0.


Classes e Objetos
PHP Manual