Maison > développement back-end > tutoriel php > PHP中的后期绑定

PHP中的后期绑定

WBOY
Libérer: 2016-07-29 09:10:45
original
1232 Les gens l'ont consulté

先看一个例子:

<code><?php class A {
        public static function who() {
            echo __CLASS__;
        }
        public static function test() {
            self::who();
        }
    }
    
    class B extends A {
        public static function who() {
            echo __CLASS__;
        }
    }
    
    B::test();
?></code>
Copier après la connexion

输出:

<code>A
</code>
Copier après la connexion

如果使用后期绑定:

<code><?php class A {
        public static function who() {
            echo __CLASS__;
        }
        public static function test() {
            static::who(); // 后期静态绑定从这里开始
        }
    }
    
    class B extends A {
        public static function who() {
            echo __CLASS__;
        }
    }
    
    B::test();
?></code>
Copier après la connexion

输出:

<code>B
</code>
Copier après la connexion

使用 self:: 或者 CLASS 对当前类的静态引用,取决于定义当前方法所在的类,而不是调用者所在的类。

“后期绑定”的意思是说,static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为“静态绑定”,因为它可以用于(但不限于)静态方法的调用。

以上就介绍了 PHP中的后期绑定,包括了静态方法方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal