PHP における遅延静的バインディングとは正確には何ですか?
ベストアンサー1
絶対に読むべき遅延静的バインディングPHP マニュアルに記載されています。ただし、簡単に概要を説明したいと思います。
self
基本的に、キーワードは同じ継承ルールに従わないという事実に帰着します。キーワードself
は常に、それが使用されているクラスに解決されます。つまり、親クラスでメソッドを作成し、それを子クラスから呼び出した場合、self
予想どおりに子クラスを参照しません。
遅延静的バインディングは、この特定の欠点に対処するキーワードの新しい使用法を導入しますstatic
。 を使用するとstatic
、最初に使用するクラスを表します。つまり、ランタイム クラスに「バインド」されます。
これらがその背後にある 2 つの基本概念です。 が使用されている場合のself
、parent
、static
の動作はstatic
微妙な場合があります。そのため、詳細に立ち入るよりも、マニュアル ページの例を学習することを強くお勧めします。各キーワードの基本を理解したら、どのような結果が得られるかを確認するために例が非常に重要になります。