PHP の -> と :: の違い

藏色散人
リリース: 2023-04-08 09:00:01
転載
3930 人が閲覧しました

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 サイトの他の関連記事を参照してください。

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