ホームページ  >  記事  >  バックエンド開発  >  new static() は何に使用されますか?何をするか

new static() は何に使用されますか?何をするか

WBOY
WBOYオリジナル
2016-06-13 13:33:391445ブラウズ

new static() は何に使用されますか?

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
namespace myNamespace{
 
    class MyClass {
        public function Show(){
                

            $a = new static('a',1,'b',32,$_GET);
            var_dump($a);
        }
    } 
}


outputs
object(myNamespaceMyClass)#2 (0) { }

これが何のためにあるのか理解できませんか?

-----解決策---------
新しい静的な新しい自己はすべてインスタンスです 変換現在のクラスですが、新しい静的クラスにはコードが配置されているクラスのみが含まれます。つまり、サブクラスがオーバーライドされない場合、親クラスがインスタンス化されます。 そして、新しい自分は厳密な現在のクラスです

------解決策----------------------
燃えろ Firebird は正しいです!
------解決策----------------------
バンプアップ


new static new self は現在のクラスをインスタンス化しますが、new static にはコードが配置されているクラスしかありません。つまり、サブクラスがオーバーライドされていない場合、親クラスがインスタンス化されます。 そして、新しい自分は厳密な現在のクラスです

------解決策---------
話し合う

これは私が書いた簡単な真似です。 SYMFONY のコード リファレンスを見る:

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