ホームページ  >  記事  >  php教程  >  PHPでの名前空間と使用法の分析

PHPでの名前空間と使用法の分析

黄舟
黄舟オリジナル
2016-12-14 10:47:471149ブラウズ

この記事の例では、名前空間の使用法とphpでの使用法について説明します。参考までに皆さんと共有します。詳細は次のとおりです:

名前空間 (以下、ns)。 ns を定義した後、以下で宣言されたクラス、インターフェイス、および const (変数を除く) はすべて、宣言された ns の「ドメイン」内にあります。 ns を宣言するインクルード ファイルを参照する場合、この ns 内の何かを呼び出したい場合は、現在のスクリプトを ns ドメインに合わせて調整する必要があります。それ以外の場合は、フルネーム () を使用して ns のフルネームを含める必要があります)。

// inc.php
namespace Foo;
class Bar {}
// 访问Foo的第一种方法,用全称
require 'inc.php';
$foo = new \Foo\Bar();
// 访问Foo的第二种方法
namespace Foo; // 调整当前脚本到Foo这个ns域,而且namespace申明必须在第一句
require 'inc.php';
$foo = new Bar();

use キーワードの目的は、ns のエイリアスを使用することです:

// 比如
use A\Very\Long\Namespace as Ns;
// 这样就可以用Ns来代替A/Very/Long/Namespace这个ns下定义的东西
$foo = new Ns\Foo();


しかし、いくつかのオープンソース プロジェクトでよく使用されています。 NsComponent のこの使用法では as が使用されていないため、2 番目の使用法があるかどうかを考えさせられました。残念なことに、この使用法については PHP ドキュメントに記載されていないため、後から推測するしかありません。質問ですが、より信頼できる結論は、 as とそれに続くエイリアスを省略して、ns の最後のノードの名前を直接エイリアスとして使用できるということです。これは ln のような感じでしょうか。 -s コマンドの使用方法:

// 第三种用法
require 'inc.php';
use Foo\Bar; // 这样Bar就等于Foo\Bar了
$foo = new Bar();

この記事が PHP プログラミングのすべての人に役立つことを願っています。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。


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