ホームページ  >  記事  >  バックエンド開発  >  PHPクラスの属性

PHPクラスの属性

伊谢尔伦
伊谢尔伦オリジナル
2016-11-23 14:22:541591ブラウズ

クラスの変数メンバーは「プロパティ」、「フィールド」、または「機能」と呼ばれます。このドキュメントでは、これらを総称して「プロパティ」と呼びます。プロパティ宣言はキーワード 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 で追加されました。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHPのクラス定数次の記事:PHPのクラス定数