ホームページ  >  記事  >  バックエンド開発  >  PHPインスタンスメソッドの違いは何ですか

PHPインスタンスメソッドの違いは何ですか

藏色散人
藏色散人オリジナル
2020-08-31 09:21:592287ブラウズ

php インスタンス メソッドの違いは次のとおりです: 1. 静的メソッドは new を必要としませんが、インスタンス メソッドには new が必要です; 2. 静的メソッドでは非静的プロパティを呼び出すことはできません; 3. 静的メソッドのコピーは 1 つだけですリソースは PHP ライフサイクル内で共有され、インスタンス メソッドはメモリ内に複数のコピーを持つ場合があります。

PHPインスタンスメソッドの違いは何ですか

推奨: 「PHP ビデオ チュートリアル

php の静的メソッドとインスタンス メソッドの違い

PHP のオブジェクト指向プログラミングではクラスやメソッドに触れることが多いですが、静的メソッドとインスタンス メソッド (非静的メソッド) の違いは何でしょうか。より適切に選択して適用するにはどうすればよいですか?以下の比較をご覧ください:

の呼び出しには、新しいクラス名::メソッド名は必要ありません。 新規が必要です。 ストレージメモリ内のみ 1コピーでは、PHP ライフサイクル内でリソースが共有されます。 新しいたびに、独立したスペースが開かれます。つまり、メモリ内に複数のコピーが存在します。 パフォーマンス直接呼び出し、スペースを開くなどの操作が不要で、時間と効率の点で優れています開くのに時間がかかります操作共有同じスペースと同じデータを共有するため、シナリオによっては静的メソッドを使用する方が適している複数のインスタンスは共有されません 同じスペースとデータチェーン書き込み方式はサポートされていません
#相違点 静的メソッド (静的) インスタンス メソッド

例:

1User::find();

注: 静的メソッドでは非静的プロパティを呼び出すことはできません。


例:

12$userObj = new User;$userObj->find();

注: 静的メソッドとプロパティはクラスのロード時にロードされるため、静的メソッドが多すぎるとより多くのメモリを消費します。
はサポートされています。例:

1$userObj->fields('uid')->where('uid>0')->find();

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

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