「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > **PHP で同じ名前空間内のクラスを参照するために「use」ステートメントを正しく使用するにはどうすればよいですか?**

**PHP で同じ名前空間内のクラスを参照するために「use」ステートメントを正しく使用するにはどうすればよいですか?**

2024 年 11 月 1 日に公開
ブラウズ:446

**How do I correctly use the `use` statement to reference a class within the same namespace in PHP?**

PHP 名前空間と Use ステートメント: 基本を理解する

PHP では、名前空間は、関連するクラス、インターフェイス、そして特徴。通常、各名前空間は特定のプロジェクトまたはライブラリに関連付けられます。名前空間を宣言するには、次の構文を使用します。

namespace Shape;

この行は、後続のすべてのクラスとメソッドが Shape 名前空間内に存在することを示します。

発生した特定の問題に関しては、use ステートメントが include ステートメントとは異なる目的を果たすことに注意することが重要です。 include ステートメントは、指定されたファイルの内容を現在のスコープにロードするだけで、その内容が使用可能になります。対照的に、use ステートメントを使用すると、他の名前空間またはグローバル名前空間からクラスやインターフェイスを参照できます。

あなたの場合、Circle.php ファイルで試みた use ステートメントは正しくありません。 use 演算子を使用して Circle クラスで Shape のエイリアスを作成するための適切な構文は次のようになります。

use Shape\Shape;

このステートメントを使用することで、PHP に Shape を解決するよう指示します。 Shape 名前空間内。 Circle クラスと Shape クラスは両方とも同じ名前空間内で定義されるため、extends ステートメントで名前空間プレフィックスを指定する必要はありません。

最後に、use ステートメントを使用したくない場合は、明示的に指定できます。 extends ステートメント内の Shape クラスの完全修飾名前空間:

class Circle extends \Shape\Shape implements ShapeInterface {
    ...
}

このアプローチでは、Shape クラスの名前空間を明示的に指定し、use ステートメントの必要性を回避します。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3