PHP で静的メソッドを使用する場合

angryTom
リリース: 2023-02-27 12:38:01
オリジナル
5218 人が閲覧しました

PHP で静的メソッドを使用する場合

#php で静的メソッドを使用する場合

静的メソッド:

インスタンスはプログラム実行の最初からメモリを生成するため、直接呼び出すことができ、効率が大幅に向上します。ただし、静的メモリには制限があります。インスタンスが多すぎると、プログラムを直接起動できなくなり、静的メモリが常駐します。

非静的メソッド:

インスタンス メソッドは呼び出し時にメモリの生成を開始し、分散メモリに適用されるため、効率が大幅に低下します。使い果たされ次第解放されます。

違い:

1. 静的メソッドは new を必要としないため、使いやすくなります。

2. 静的は、プログラムの実行中にインスタンスによってメモリが生成され、使い果たされた後もまだ存在しますが、解放されないため、高速かつ効率的です。

3. 非静的メモリは呼び出し時に生成され、使用後に解放されます。

静的メソッドは通常、ツール クラスで使用されます例:

class Helper{
    public static function fun1(){}
    public static function fun2(){}
}
ログイン後にコピー

同じクラスのオブジェクトの場合、これはどうすればよいですかメソッド do? 物事は同じであり、オブジェクト自体とは何の関係もありません。通常、このメソッドは静的メソッドとして定義できます。

たとえば、クライアントの IP アドレスを取得したい場合、このメソッドは通常、ビジネス ロジック クラスとは何の関係もありません。その後、メソッド getClientIP()
を定義するツール クラスを定義できます。

class Helper{
public static function getClientIP(){
    $ip = $_SERVER["HTTP_X_CLUSTER_CLIENT_IP"];
    if (strlen($ip) <= 0) {
        $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    }
    if (strlen($ip) <= 0) {
        $ip = $_SERVER["HTTP_CLIENT_IP"];
    }
    if (strlen($ip) <= 0) {
        $ip = $_SERVER["REMOTE_ADDR"];
    }
    return $ip;
}
}
ログイン後にコピー

詳細 PHP 関連の知識については、

PHP中文网 をご覧ください。

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート