名前空間は、物事をカプセル化する方法です。この抽象的な概念はさまざまな場所で見られます。たとえば、ディレクトリはオペレーティング システムで関連ファイルをグループ化するために使用され、ディレクトリ内のファイルの名前空間として機能します。
クラスの簡単な例を示します:
<?php namespace Dojo; class Ninja { }
上の例では、Dojo 名前空間にクラスを作成しました。忍者と呼ばれる新しいクラス。名前空間を使用しておらず、アプリケーションに Ninja という名前の別のクラスが含まれている場合は、クラスを再宣言できないというエラーが表示されます。
この問題は名前空間で解決できます。次のような別のクラスを作成できます。
<?php namespace Training; class Ninja { }
さて、両方のファイルをアプリケーションに含めると、どの Ninja クラスを使用するかを簡単に区別できるようになります。
例として、Ninja クラスの使用方法を示すコードを次に示します。
<?php // require both of our ninja classes require "Dojo/Ninja.php"; require "Training/Ninja.php"; // create a new Ninja in the Dojo namespace $ninja1 = new Dojo\Ninja(); // create a new Ninja in the Training namespace $ninja2 = new Training\Ninja();
2 つのクラスは異なり、異なる機能を持つ可能性があるため、名前空間により同じものを使用できます。クラス名を指定し、名前空間で区別します。 PHP 使用関数を使用してコードを読みやすくすることもできます。たとえば、Ninja のみを使用し、Dojo\Ninja を導入しないとします。
これを行うことができます:
<?php // require both of our ninja classes require "Dojo/Ninja.php"; require "Training/Ninja.php"; use Dojo\Ninja as Ninja; $my_ninja = new Ninja();
別の Ninja ファイルを使用したい場合は、次のようにするだけです:
use Training\Ninja as Ninja;
以上です!単純にする!
最後に申し上げたいのは、ネームスペースを使用する場合、一般に、これらのファイルの場所を見つけやすくするために、ネームスペースのフォルダー構造に従う必要があるということです。
したがって、Training/Ninja.php ファイルは Training フォルダーに存在する可能性があります。
#したがって、覚えやすく一般的なクラス名をプロジェクトに追加し続けたいと考えています。名前空間を与えることを忘れないでください。
以上がPHP で名前空間を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。