クラスの変数メンバーは「プロパティ」、「フィールド」、または「機能」と呼ばれます。このドキュメントでは、これらを総称して「プロパティ」と呼びます。プロパティ宣言はキーワード public、protected、または private で始まり、その後に通常の変数宣言が続きます。属性内の変数は初期化できますが、初期化された値は定数である必要があります。ここでの定数とは、PHP スクリプトがコンパイル段階で値を取得でき、実行時情報に依存せずに評価できることを意味します。
注:
PHP 4 との下位互換性を保つために、PHP 5 で宣言されたプロパティは引き続きキーワード var を直接使用して、public、protected、または private を置き換える (または追加する) ことができます。しかし、var はもう必要ありません。 PHP 5.0 から 5.1.3 では、var は非推奨とみなされ、E_STRICT 警告がスローされますが、5.1.3 以降は非推奨とはみなされなくなり、警告はスローされません。
public、protected、private のいずれかを使用せずに、var を使用してプロパティを直接宣言した場合、PHP 5 はそれをパブリックとして扱います。
クラスのメンバー メソッドで、-> (オブジェクト演算子): $this->property (property はプロパティの名前) を使用して、非静的プロパティにアクセスできます。静的プロパティには、:: (二重コロン): self::$property を使用してアクセスします。
例 #1 プロパティ宣言
class SimpleClass
{
//間違ったプロパティ宣言
public $var1 = 'hello '.'world';
public $var2 = << hello world EOD; public $var3 = 1+2; public $var4 = self::myStaticMethod(); public $var5 = $myVar; //正しい属性宣言 public $var6 = myConstant; public $var7 = array(true,false); //PHP5.3.0 以降では、次のステートメントも正しいです public $var8 = <<< EOD' hello world EOD; } ヒアドキュメントとは異なり、nowdoc はプロパティ宣言を含むあらゆる静的データ コンテキストで使用できます。 例 #2 例: nowdoc を使用してプロパティを初期化する //PHP5.3.0 以降 public $var = <<<'EOD' hello world EOD; 注: Nowdocサポート PHP 5.3.0 で追加されました。