ホームページ  >  記事  >  バックエンド開発  >  php名前空間の使用法

php名前空間の使用法

王林
王林オリジナル
2020-09-28 10:58:271562ブラウズ

php 名​​前空間の使用法: [namespace Article;] は、Article という名前の名前空間を作成することを意味します。現在のスクリプト ファイルの最初の名前空間の前にコードを置くことはできないことに注意してください。

php名前空間の使用法

ネームスペースの最も明確な目的の 1 つは、名前の重複の問題を解決することです。PHP では、2 つの関数またはクラスが同じ名前を持つことは許可されません。そうしないと、致命的なエラーが発生します。この場合、名前の重複を避ければ解決できますが、最も一般的な方法はプレフィックスを合意することです。

(推奨チュートリアル: php ビデオ チュートリアル)

名前空間は、コードをさまざまな空間 (領域) に分割し、各空間の定数、関数、クラス (面倒なので、以下では名前が互いに影響しない要素と呼びます)これは、よく言及される「カプセル化」の概念に似ています。

名前空間を作成するには、次のように名前空間キーワードを使用する必要があります:

<?php
//创建一个名为&#39;Article&#39;的命名空间
namespace Article;
?>

現在のスクリプト ファイルの最初の名前空間の前にコードを置くことはできないことに注意してください。次の書き方は間違っています:

例 1

//在脚本前面写了一些逻辑代码
<?php
$path = "/";
class Comment { }
namespace Article;
?>

例 2

</html>
<?php
namespace Article;
?>

なぜ最初の名前空間を言いたいのですか?同じスクリプト ファイル内に複数の名前空間を作成できるためです。

以下では、2 つの名前空間を作成し、これら 2 つの空間のそれぞれに Comment クラス要素を追加しました。

<?php
//创建一个名为&#39;Article&#39;的命名空间
namespace Article;
//此Comment属于Article空间的元素
class Comment {
}
//创建一个名为&#39;MessageBoard&#39;的命名空间
namespace MessageBoard;
//此Comment属于MessageBoard空间的元素
class Comment {
}
?>

異なるスペース間で他の要素を直接呼び出すことはできません。名前空間構文を使用する必要があります。

<?php
namespace Article;
class Comment {
}
namespace MessageBoard;
class Comment {
}
//调用当前空间(MessageBoard)的Comment类
$comment = new Comment();
//调用Article空间的Comment类
$article_comment = new \Article\Comment();
?>

メッセージボード スペースの記事スペースで Comment クラスを呼び出すときに、ファイル パスに似た構文が使用されていることがわかります: \スペース名\要素名

クラスを除き、関数と定数の使い方は同じですが、以下では2つのスペースに新しい要素を作成し、その値をメッセージボードスペースに出力します。

<?php
namespace Article;
const PATH = &#39;/article&#39;;
function getCommentTotal() {
	return 100;
}
class Comment {
}
namespace MessageBoard;
const PATH = &#39;/message_board&#39;;
function getCommentTotal() {
	return 300;
}
class Comment {
}
//调用当前空间的常量、函数和类
echo PATH;
///message_board
echo getCommentTotal();
//300
$comment = new Comment();
//调用Article空间的常量、函数和类
echo \Article\PATH;
///article
echo \Article\getCommentTotal();
//100
$article_comment = new \Article\Comment();
?>

これで、Article スペースの要素データを取得できました。

関連する推奨事項: php トレーニング

以上がphp名前空間の使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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