ホームページ  >  記事  >  バックエンド開発  >  PHP で名前空間を使用する方法

PHP で名前空間を使用する方法

藏色散人
藏色散人オリジナル
2019-01-23 14:56:555877ブラウズ

名前空間は、物事をカプセル化する方法です。この抽象的な概念はさまざまな場所で見られます。たとえば、ディレクトリはオペレーティング システムで関連ファイルをグループ化するために使用され、ディレクトリ内のファイルの名前空間として機能します。

PHP で名前空間を使用する方法

クラスの簡単な例を示します:

<?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 で名前空間を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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