-2

私はphpの本を読んでいて、このコードを見つけました:

class Employee {
        static public $NextID = 1;
        public $ID;

        public function _ _construct( ) {
                $this->ID = self::$NextID++;
        }

        public function NextID( ) {
                return self::$NextID;
        }
}

ここで使用される理由はself::$NextID++;次のように使用できます。

$this-ID = $this->$NextID++;
4

2 に答える 2

1

PHPでは、静的関数をselfで参照する必要があるためです。

すでにstackoverflowに関する説明もありました:こちらをご覧ください

于 2013-11-13T08:31:50.880 に答える
0

クラスが静的ie. ClassName::someMethod()に呼び出される場合、クラスの「インスタンス」はありません。

クラスのインスタンスを参照するため$this、クラスが静的に使用される場合、$this は存在しません。(したがって、 $this は、 を使用してクラスのオブジェクトを作成した場合にのみ使用できます$var = new ClassName())

self(オブジェクトではなく) クラスを参照するため、静的クラスself::..では、クラス内のプロパティまたはメソッドを参照するために使用できます。

于 2013-11-13T08:38:29.400 に答える