ホームページ  >  記事  >  バックエンド開発  >  PHPの静的属性と静的メソッドの違い

PHPの静的属性と静的メソッドの違い

墨辰丷
墨辰丷オリジナル
2018-05-24 09:57:081549ブラウズ

この記事では主にPHPの静的属性と静的メソッドの違いについて詳しく説明していますので、必要な方は参考にしてください

static

public、private、protected

static属性

を追加します。属性またはメソッドの前に静的キー 単語は静的属性です

実際の作業では、クラスの複数のオブジェクトが存在し、それらが 1 つのデータを共有する可能性があります。

解決策:

1: クラス定数。変更できません。

例:

2: データの一部を共有した後、このデータを共有するすべてのオブジェクトも変更を許可する必要がある場合があります。

だから静的があります

構文:

例:

ヒント: 静的プロパティはクラス定数と似ています (同じ) 唯一の違いは、クラス定数は変更できず、静的プロパティは変更できることです。かわった。アクセス方法は同じです。

:: アクセスできるのはクラス定数、静的プロパティ、静的メソッドのみです

静的プロパティは $ を付けて追加する必要があるため、アクセス時に $ を追加する必要はありません。クラス定数。 ;- & gt; static、つまり静的メソッド

を追加する前に、$

static メソッド

を追加する必要はありません。 static メンバーのアクセス: static 属性へのアクセス:

構文:

クラス名:: 静的プロパティ名

クラス内のすべての静的プロパティにアクセス

静的メソッドへのアクセス

クラス外アクセス 構文:

静的メソッド。クラス空間に存在します。

クラス名::メソッド名(); 静的プロパティはクラス空間に格納され、非静的プロパティはオブジェクト空間に格納されます。

静的プロパティはクラスアクセス (::) を通じてアクセスされ、非静的プロパティはアクセスされます。オブジェクト (->) を通じて

静的メソッド アクセスはクラス Access (::)、

メソッドがオブジェクト空間に属するプロパティを内部的に操作しない場合、そのメソッドは静的メソッドにカプセル化され、このメソッドははるかに高速になります。

$this は静的メソッドでは使用できません

*******

重要なヒント:

クラスに属している場合は、クラス名を使用するか、オブジェクトに属している場合は self:: を使用します、オブジェクト名または $this-> を使用します。 (通常のメソッドを除く == & gt; 一般的なメソッドはクラス空間に属しますが、$this またはオブジェクト名で使用する必要があります。データ型、ブール値 false の場合は出力がありません

print 関数

スカラーデータ型のみを出力でき、ブール値 false の出力はありません

print_r() スカラーデータ型だけでなくデータも出力できますが、ブール値 false の場合は出力できません 出力

var_dump($v1, $v2); 主にプログラマが

__tostring();

を使用してプログラムをデバッグするために、変数に関する詳細情報を出力します。オブジェクトをエコーするとき、それは構造体を文字列に変換することを意味します。

__tostring() マジックメソッドは、何らかの操作によりオブジェクトが文字列に変換されるときに、PHP 自動実行メカニズムによって呼び出されます。

このメソッドは、エラー (Fatal Err 致命的なエラー) をキャプチャし、プロンプト メッセージを出力します

例:

__clone();

clone 関数

;

以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。


関連する推奨事項:

thinkphp ランダム文字列

thinkphp3.2.3 写真をアップロードするために登録

thinkphp3.2.3 ページングの完全な例

以上がPHPの静的属性と静的メソッドの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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