php インスタンス メソッドの違いは次のとおりです: 1. 静的メソッドは new を必要としませんが、インスタンス メソッドには new が必要です; 2. 静的メソッドでは非静的プロパティを呼び出すことはできません; 3. 静的メソッドのコピーは 1 つだけですリソースは PHP ライフサイクル内で共有され、インスタンス メソッドはメモリ内に複数のコピーを持つ場合があります。
推奨: 「PHP ビデオ チュートリアル 」
php の静的メソッドとインスタンス メソッドの違い
PHP のオブジェクト指向プログラミングではクラスやメソッドに触れることが多いですが、静的メソッドとインスタンス メソッド (非静的メソッド) の違いは何でしょうか。より適切に選択して適用するにはどうすればよいですか?以下の比較をご覧ください:
#相違点 | 静的メソッド (静的) | インスタンス メソッド |
の呼び出しには、新しいクラス名::メソッド名は必要ありません。 |
例: 1User::find(); 注: 静的メソッドでは非静的プロパティを呼び出すことはできません。 | 新規が必要です。
例: 12$userObj = new User;$userObj->find(); |
メモリ内のみ 1コピーでは、PHP ライフサイクル内でリソースが共有されます。 | 注: 静的メソッドとプロパティはクラスのロード時にロードされるため、静的メソッドが多すぎるとより多くのメモリを消費します。 | 新しいたびに、独立したスペースが開かれます。つまり、メモリ内に複数のコピーが存在します。 |
直接呼び出し、スペースを開くなどの操作が不要で、時間と効率の点で優れています | 開くのに時間がかかります操作 | |
同じスペースと同じデータを共有するため、シナリオによっては静的メソッドを使用する方が適している | 複数のインスタンスは共有されません 同じスペースとデータ | |
はサポートされていません | はサポートされています。例: 1$userObj->fields('uid')->where('uid>0')->find(); |
以上がPHPインスタンスメソッドの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。