ホームページ  >  記事  >  バックエンド開発  >  PHP の -> と :: の違い

PHP の -> と :: の違い

藏色散人
藏色散人転載
2020-01-20 13:11:193809ブラウズ

PHP における -> と :: の違い

->

クラス インスタンスの参照に使用されるクラス内のメソッドと属性

例:

class Test{
    function add(){return $this->var++;}
    var $var = 0;
}
$a = new Test;  //  实例化对象名称
echo $a->add();
echo $a->var;

::

クラス内の静的メソッドと静的プロパティの参照メソッド

例:

class Test{
    public static function test(){
    public static $test = 1;
   }
}

クラスの静的メソッドと静的プロパティは、オブジェクトをインスタンス化せずに直接使用できます (使用されるメソッドはクラス名::静的メソッド名です)

Test::test();  //  调用静态方法test
Test::$test;  //  来取得$test静态属性的值

注:

静的メソッドが使用されますこのクラスを読んだ後、またはクラスを導入した後、このクラス ファイルが作成されたとき、すでにインスタンス化され、メモリに保存されているため、非静的クラスは新しいクラスである必要があります。

静的クラスのメモリ内に複数のインスタンスがある場合でも、静的属性のコピーは 1 つだけです。

以上がPHP の -> と :: の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。