ホームページ  >  記事  >  バックエンド開発  >  PHP53 新機能の遅延静的バインディング

PHP53 新機能の遅延静的バインディング

WBOY
WBOYオリジナル
2016-08-08 09:19:34931ブラウズ
ベースの PHP バージョン: 5.3.5PHP5.3 では後に遅延静的バインディングが導入されました: static(keyword) は self(keyword) に似ていますが、 が呼び出されることを指します。 static 、および self : の主な機能は、元のサブクラスの欠点を補うことです。parent を使用して親クラスのオブジェクトを見つけることができるようになりました。親クラスを検索して、現在それを継承しているサブクラス オブジェクトを検索します。
class A  
{  
    public static function echoClass()  
    {  
        echo __CLASS__;  
    }  
    public function what(){ echo __CLASS__;}
    public static function test()  
    {  
        <pre name="code" class="php">        $this->what(); //输出B 
static::echoClass(); //出力 B self::echoClass(); //出力 A } } class B extends A { public static function echoClass() { echo __CLASS__; );
selfは現在のクラスのオブジェクトを参照し、

staticは呼び出し元クラスのオブジェクトを参照し、$thisも現在呼び出しているクラスのオブジェクトを参照しますが、 $thisはできません。静的属性を呼び出すには、selfを使用できます。また、__CLASS__は、クラスの名前を指定するために使用されます。これは、通常、クラスメソッドを登録するために使用されます。

class B extends A  
{        
    public static function echoClass($name=1)  
    {  
    	spl_autoload_register(array(__CLASS__,"echoClass"));
         echo __CLASS__;  
    }  
}  

著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

上記では、php53 の新機能である遅延静的バインディングをその側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。