ホームページ >バックエンド開発 >PHPの問題 >PHPでのstaticの使用法は何ですか

PHPでのstaticの使用法は何ですか

WBOY
WBOYオリジナル
2022-02-14 11:22:042844ブラウズ

PHP では、静的キーワードはメンバーのプロパティとメンバー メソッドを変更するために使用されます。クラスの通常のメンバーの前に静的キーワードを追加すると、この通常のメンバーを静的メンバーに変えることができます。静的メンバーにアクセスするための構文は次のとおりです。 「ClassName::$static プロパティ」と「ClassName::static メソッド()」。

PHPでのstaticの使用法は何ですか

このチュートリアルの動作環境: Windows10 システム、PHP7.1 バージョン、DELL G3 コンピューター

php での static の使用法とは何ですか?

PHP では、static キーワードによって変更されたメンバー プロパティおよびメンバー メソッドを静的プロパティおよび静的メソッドと呼びます。ここではこれらを総称して静的メンバーと呼ぶこともあります。クラス内の静的メンバーは、クラス内の一般的なメンバーとは異なります静的メンバーはオブジェクト内にインスタンス化されません。つまり、クラスを介して静的メンバーにアクセスするためにクラスをインスタンス化する必要はありません。

クラス内で静的変数を宣言するのは簡単です。クラスの通常のメンバーの前に static キーワードを追加して、この通常のメンバーを静的メンバーに変えることができます。このようにして、クラスをインスタンス化せずに、クラス内のこれらの静的メンバーに直接アクセスできます。静的メンバーにアクセスするための構文形式は次のとおりです。

类名::$静态属性
类名::静态方法()

:: シンボルはスコープ解決演算子と呼ばれ、静的メンバー、静的メソッド、および定数にアクセスするために使用され、メンバーをオーバーライドするためにも使用できます。およびクラス内のメソッド。

クラス内のメンバー メソッドの静的プロパティにアクセスする場合は、静的プロパティの名前の前に演算子 self:: を追加するだけです。

次は、静的メンバーの定義を示す簡単な例です:

<?php
    class Website{
        static public $name = &#39;中文网<br>&#39;;
        public $title = &#39;PHP教程&#39;;
        public static function url(){
            echo self::$name;
            echo &#39;http://www.php.cn/<br>&#39;;
            echo $this -> title;
        }
    }
    Website::url();
?>

実行結果は次のとおりです:

中文网
http://www.php.cn/
Fatal error: Uncaught Error: Using $this when not in object context ……

注: 静的メソッドでは、静的変数のみが使用できます。通常の変数は呼び出すことができませんが、通常のメソッドは静的変数を呼び出すことができます。

静的メンバーを使用すると、オブジェクトをインスタンス化する必要がなくなるだけでなく、オブジェクトが破棄された後も、変更された静的データを次回使用できるように保存する機能もあります。以前に紹介したもの 静的変数も同様です。

[例] 静的変数 $num を宣言し、メソッドを宣言し、メソッド内で静的変数を呼び出し、変数の値に 1 を加算し、クラス内でオブジェクトをインスタンス化し、最後にメソッドを呼び出します。クラスメソッド。

<?php
    class Website{
        static public $num = 0;
        public function add(){
            echo &#39;$num 的值为:&#39;.self::$num;
            self::$num++;
        }
    }
    $num1 = new Website();
    $num1 -> add();
    echo &#39;<br>&#39;;
    $num2 = new Website();
    $num2 -> add();
?>

実行結果は次のとおりです:

$num 的值为:0
$num 的值为:1

静的メンバーはオブジェクトをインスタンス化する必要がありません。クラスが初めてロードされるときにメモリ領域が割り当てられるため、より高速にロードされます。静的メンバーを直接呼び出すこともあります。ただし、宣言された静的メンバーが多すぎると、スペースが常に占有されることになり、システムの実行速度に影響します。

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

以上がPHPでのstaticの使用法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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