* スコープ パーサー::
* 1. 目的
* 1. 静的メンバー (クラス外) の呼び出し
# * 2. クラス定数の呼び出し* 3. サブクラスの対象となるクラス メンバー (プロパティ/メソッド) の呼び出し * 2. シナリオ * 1. クラスの外部: クラス名を介したクラスへのアクセスのみが可能です。 allowed Member * 2. クラス内: 以下のみが許可されます: self、parent、static * 3. 特別: クラス名変数は、クラス名の参照に使用できます。 (php5.3)
class Demo1 { const HOME = '合肥'; public static function test1() { return __METHOD__; } public static function test2() { //延迟静态绑定:后面会说到 //static::根据上下文来决定使用哪个类来调用 return static::test1(); } } class Demo2 extends Demo1 { public static $name = '朱老师'; public static function test1() { //调用本类静态成员: self:: $res = self::$name.'<br>'; //调用父类静态成员属性: parent:: $res .= parent::HOME.'<br>'; //调用父类静态成员方法 $res .= parent::test1().'<br>'; $res .= __METHOD__; return $res; } }//1. クラスの外部からクラスの静的メンバーを呼び出します
echo Demo1::HOME,'<br>'; echo Demo1::test1(); echo '<hr>'; echo Demo2::test1(); echo '<hr>';//Demo1 が test2() を呼び出すことと Demo2 が test2 を呼び出すことの違いに注意してください。 ()//Demo1::test() Demo1
echo Demo1::test2(); echo '<hr>';//Demo2::test2() の test1() の実行結果を返します。 Demo2
echo Demo2::test2(); echo '<hr>';//php5.3、クラス変数を使用して
$class = 'Demo2'; echo $class::test2();を呼び出すことができます
以上がPHPの範囲パーサーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。