PHP 名前空間と Use ステートメント: 基本を理解する
PHP では、名前空間は、関連するクラス、インターフェイス、そして特徴。通常、各名前空間は特定のプロジェクトまたはライブラリに関連付けられます。名前空間を宣言するには、次の構文を使用します。
<code class="php">namespace Shape;</code>
この行は、後続のすべてのクラスとメソッドが Shape 名前空間内に存在することを示します。
発生した特定の問題に関しては、次のことが重要です。 use ステートメントは include ステートメントとは異なる目的を果たすことに注意してください。 include ステートメントは、指定されたファイルの内容を現在のスコープにロードするだけで、その内容が使用可能になります。対照的に、use ステートメントを使用すると、他の名前空間またはグローバル名前空間からクラスやインターフェイスを参照できます。
あなたの場合、Circle.php ファイルで試みた use ステートメントは正しくありません。 use 演算子を使用して Circle クラスで Shape のエイリアスを作成するための適切な構文は次のとおりです。
<code class="php">use Shape\Shape;</code>
このステートメントを使用することにより、Shape 名前空間内で Shape を解決するように PHP に指示します。 Circle クラスと Shape クラスは両方とも同じ名前空間内で定義されているため、extends ステートメントで名前空間プレフィックスを指定する必要はありません。
最後に、use ステートメントを使用したくない場合は、明示的に指定できます。 extends ステートメント内の Shape クラスの完全修飾名前空間:
<code class="php">class Circle extends \Shape\Shape implements ShapeInterface { ... }</code>
このアプローチでは、Shape クラスの名前空間を明示的に指定し、use ステートメントの必要性を回避します。
以上が**PHP で同じ名前空間内のクラスを参照するために「use」ステートメントを正しく使用するにはどうすればよいですか?**の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。