ホームページ >バックエンド開発 >PHPチュートリアル >PHP の静的メンバー関数がより効率的である理由の簡単な分析_PHP チュートリアル

PHP の静的メンバー関数がより効率的である理由の簡単な分析_PHP チュートリアル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-07-13 10:28:16871ブラウズ

多くの PHP 開発者は、クラスの静的メンバー関数を使用する方が、クラスの通常のメンバー関数を使用するよりも効率的であることを知っています。この記事では、この問題をアプリケーション レベルから分析します。

ここに例があります:

コードをコピーします コードは次のとおりです:
header('Content-Type: text/html; charset=utf-8');
class xclass {
​​ public static }
        public static function secho1()
                                                                                                                                                                                                                    :: $var1 . '
';
; H {
echo 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC ------------- ---
";
$xc = new xclass();
$xc -> secho1();
$xc -> secho2 ();
?>

上記の例では、 secho1() が静的メソッドとして定義された後も、動的クラスのオブジェクト インスタンス内で動的メソッドとして参照でき、secho3() とみなすこともできるという興味深い点がわかります。静的メンバー関数 このレベルからは、静的メンバー関数が動的メンバー関数より高速である理由を理解するのは難しくありません。

おそらく互換性の理由から、
php では動的クラス メンバーと静的クラス メンバーの間に明確な区別はありません。明示的な宣言がなければ、すべてのメンバーは静的メンバーとみなされ、特定のメモリ領域に格納されます
。そのため、静的メンバーは単に関数と呼ばれます。通常の関数を呼び出すのと同じように、非常に高速です。

ただし、動的クラスの呼び出しは異なります。このクラス構造をサンプルとして使用してメモリ内にオブジェクト インスタンスを再生成するため、単純なクラスでは大したことはないかもしれませんが、複雑なクラスでは明らかにこれが発生します。効率に影響します。

実際、上記の分析から、静的メソッドを宣言しない場合でも、システムはメンバーを静的として扱うことがわかります。完全な静的メソッドと完全な動的メソッドを持つクラス ただし、インスタンス オブジェクトを宣言しないクラスはほぼ同じメモリを占有するため、より直接的なロジックの場合は、静的メンバー メソッドを直接使用することをお勧めします。一部の複雑なロジックやオブジェクト指向のロジックには静的クラスを完全に使用しますが、その場合、なぜ OOP を使用する必要があるのでしょうか? 使用法によれば、静的メソッドは MVC パターンの論理クラスに特に適しています。






http://www.bkjia.com/PHPjc/802209.html
www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/802209.html

技術記事

多くの PHP 開発者は、クラスの静的メンバー関数を使用する方が、クラスの通常のメンバー関数より効率的であることを知っています。この問題をアプリケーション レベルから分析します。コードをコピーします...

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